Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Excel in Word-Datei, diese speichern und an Verteiler senden VBA

Mitglied: MrNice78

MrNice78 (Level 1) - Jetzt verbinden

23.08.2019 um 11:03 Uhr, 269 Aufrufe, 2 Kommentare

Hallo zusammen,

ich bin neu hier, absoluter Laie in Sachen VBA und hoffe hier Hilfe zu bekommen.

Hier mein Problem

Ich habe eine Liste in Excel aus der ich die Daten aus der markierten Zeile per VBA in eine vorhandene Word-Vorlage übertrage.
Vorgang:
- Daten in Excel eintragen
- Zeile markieren
- Butten klicken
- Word wird geöffnet und die Daten sind vorhanden

Aktueller Stand ist dass die Wordvorlage unter dem Namen Dokument1 neu geöffnet wird und die richtigen Daten stehen an den richtigen Textmarken im Word.

Soweit so gut, jetzt würde ich aber gern diese Datei in einem vorgegebenen Ordner unter dem Namen "Laufende Nummer_YYYY_MM_DD_hh_mm" abspeichern und anschließend per Outlook an einen vorgegebenen Verteiler schicken. Im Betreff soll ein vorgegebener Text und die Daten aus vier Zellen der markierten Zeile stehen und im Text der eMail ebenso.

Ich hoffe die laienhafte Beschreibung ist verständlich und hoffe auf den ein oder anderen Tip, würde mich riesig freuen.

Grüße und vorab vielen Dank an alle,

Markus

Anbei noch der Code der soweit auch funktioniert:

01.
Sub InWord()
02.
Set appWord = CreateObject("Word.Application")
03.
Set docTest = appWord.documents.Add("file:///C\xxxx.docx")
04.

05.
Dim SelectedRow As Integer
06.
SelectedRow = ActiveCell.Row
07.

08.
appWord.Visible = True
09.

10.
docTest.Activate
11.
docTest.Bookmarks("Status").Range.Text = Range("K" & SelectedRow)
12.
docTest.Bookmarks("LfdNr").Range.Text = Range("A" & SelectedRow)
13.
docTest.Bookmarks("Text1").Range.Text = Range("B" & SelectedRow)
14.
docTest.Bookmarks("Text2").Range.Text = Range("C" & SelectedRow)
15.
docTest.Bookmarks("Text3").Range.Text = Range("D" & SelectedRow)
16.
docTest.Bookmarks("Text4").Range.Text = Range("E" & SelectedRow)
17.
docTest.Bookmarks("KDA").Range.Text = Range("F" & SelectedRow)
18.
docTest.Bookmarks("Grund").Range.Text = Range("G" & SelectedRow)
19.
docTest.Bookmarks("Datum1").Range.Text = Range("H" & SelectedRow)
20.
docTest.Bookmarks("Name1").Range.Text = Range("I" & SelectedRow)
21.
docTest.Bookmarks("Tel1").Range.Text = Range("J" & SelectedRow)
22.
docTest.Bookmarks("Datum2").Range.Text = Range("L" & SelectedRow)
23.
docTest.Bookmarks("Name2").Range.Text = Range("M" & SelectedRow)
24.
docTest.Bookmarks("Tel2").Range.Text = Range("N" & SelectedRow)
25.
docTest.Bookmarks("Bemerkung").Range.Text = Range("O" & SelectedRow)
26.

27.
Set docTest = appWord.ActiveDocument
28.
Set appWord = appWord.ActiveDocument
29.

30.
End Sub
Mitglied: psuser
LÖSUNG 23.08.2019, aktualisiert um 15:06 Uhr
Grüezi wohl.

Ungefähr so
01.
Sub InWord()
02.
	Dim SelectedRow As Integer, strPath As String
03.
	With CreateObject("Word.Application")
04.
		.Visible = True
05.
		With .Documents.Add("C:\xxxx.docx")		
06.
			SelectedRow = Selection.Row
07.
			.Bookmarks("Status").Range.Text = Range("K" & SelectedRow)
08.
			.Bookmarks("LfdNr").Range.Text = Range("A" & SelectedRow)
09.
			.Bookmarks("Text1").Range.Text = Range("B" & SelectedRow)
10.
			.Bookmarks("Text2").Range.Text = Range("C" & SelectedRow)
11.
			.Bookmarks("Text3").Range.Text = Range("D" & SelectedRow)
12.
			.Bookmarks("Text4").Range.Text = Range("E" & SelectedRow)
13.
			.Bookmarks("KDA").Range.Text = Range("F" & SelectedRow)
14.
			.Bookmarks("Grund").Range.Text = Range("G" & SelectedRow)
15.
			.Bookmarks("Datum1").Range.Text = Range("H" & SelectedRow)
16.
			.Bookmarks("Name1").Range.Text = Range("I" & SelectedRow)
17.
			.Bookmarks("Tel1").Range.Text = Range("J" & SelectedRow)
18.
			.Bookmarks("Datum2").Range.Text = Range("L" & SelectedRow)
19.
			.Bookmarks("Name2").Range.Text = Range("M" & SelectedRow)
20.
			.Bookmarks("Tel2").Range.Text = Range("N" & SelectedRow)
21.
			.Bookmarks("Bemerkung").Range.Text = Range("O" & SelectedRow)
22.
			strPath = "C:\ordner\" & Range("A" & SelectedRow) & "_" & Format(now,"YYYY_MM_DD_HH_mm") & ".docx"
23.
			.SaveAs2 strPath
24.
			.Close True
25.
		End With
26.
		.Quit
27.
	End With
28.
	With CreateObject("Outlook.Application").CreateItem(0)
29.
		.To = "GruppeXYZ@domain.tld"
30.
		.Subject = "Laufende Nr.: " & Range("A" & SelectedRow)) & " / Status : " & Range("K" & SelectedRow)
31.
		.Body = "Laufende Nr.: " & Range("A" & SelectedRow)) & " / Status : " & Range("K" & SelectedRow)
32.
		.Attachments.Add strPath
33.
		.Display
34.
		'.Send
35.
	End With
36.
End Sub
Habe eine schöne Zeit.

Uf Wiederluege.
Bitte warten ..
Mitglied: MrNice78
23.08.2019 um 15:34 Uhr
Hallo psuser,

vielen Dank für die sehr schnelle Antwort, das war die Lösung.
Ich hab sie noch ein wenig angepasst, jetzt funktionieren alles so wie es soll. (Siehe Code)

Viele Grüße von der anderen Seite vom Bodensee, so nah und doch so fern! (Siehe Foto)

01.
Sub InWord()
02.
Set appWord = CreateObject("Word.Application")
03.
Set docTest = appWord.documents.Add("file:///C:\Users\49176\OneDrive\Desktop\Motorsperrung\Backup_Exceltabelle\Sperrformular.docx")
04.

05.
Dim SelectedRow As Integer
06.
SelectedRow = ActiveCell.Row
07.

08.
appWord.Visible = True
09.

10.
docTest.Activate
11.
docTest.Bookmarks("Status").Range.Text = Range("K" & SelectedRow)
12.
docTest.Bookmarks("LfdNr").Range.Text = Range("A" & SelectedRow)
13.
docTest.Bookmarks("Text1").Range.Text = Range("B" & SelectedRow)
14.
docTest.Bookmarks("Text2").Range.Text = Range("C" & SelectedRow)
15.
docTest.Bookmarks("Text3").Range.Text = Range("D" & SelectedRow)
16.
docTest.Bookmarks("Text4").Range.Text = Range("E" & SelectedRow)
17.
docTest.Bookmarks("KDA").Range.Text = Range("F" & SelectedRow)
18.
docTest.Bookmarks("Grund").Range.Text = Range("G" & SelectedRow)
19.
docTest.Bookmarks("Datum1").Range.Text = Range("H" & SelectedRow)
20.
docTest.Bookmarks("Name1").Range.Text = Range("I" & SelectedRow)
21.
docTest.Bookmarks("Tel1").Range.Text = Range("J" & SelectedRow)
22.
docTest.Bookmarks("Datum2").Range.Text = Range("L" & SelectedRow)
23.
docTest.Bookmarks("Name2").Range.Text = Range("M" & SelectedRow)
24.
docTest.Bookmarks("Tel2").Range.Text = Range("N" & SelectedRow)
25.
docTest.Bookmarks("Bemerkung").Range.Text = Range("O" & SelectedRow)
26.

27.
strPath = "C:\Users\Test\" & Range("A" & SelectedRow).Text & Format(Now, "_YYYYMMDD_hh.mm") & ".docx"
28.
appWord.ActiveDocument.SaveAs strPath
29.
appWord.ActiveDocument.Close True
30.

31.
With CreateObject("Outlook.Application").CreateItem(0)
32.
.To = "0815@test.de"
33.
.Subject = "Information zu Motorsperrung-Nr.: " & Range("A" & SelectedRow) & " / Motor-Nr." & Range("E" & SelectedRow) & " / " & "Der " & Range("K" & SelectedRow)
34.
.Body = "Sehr geehrte Damen und Herren," & vbCrLf & vbCrLf & "Information zu Motorsperrung-Nr.: " & Range("A" & SelectedRow) & " / Motor-Nr." & Range("E" & SelectedRow) & vbCrLf & vbCrLf & "Der " & Range("K" & SelectedRow) & vbCrLf & vbCrLf & "Für Änderungen im Email-Verteiler bitte Email an xy@test.com oder an xz@test.com" & vbCrLf & vbCrLf
35.
.Attachments.Add strPath
36.
.Display
37.
'.Send
38.
End With
39.

40.
End Sub
dji_0017 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Excel-VBA nach Word-VBA übersetzen (V. 2010)

gelöst Frage von spinnifexVB for Applications2 Kommentare

Hallo Admins, wie kann ich folgendes XL-Makro nach Word übersetzen, wobei die Zelladresse "A1" als Textmarke "Anzahl" angesprochen werden ...

VB for Applications

VBA - Bereich von Excel nach Word kopieren

gelöst Frage von schwazza89VB for Applications6 Kommentare

Hallo zusammen, ich suche eine Möglichkeit einen Bereich aus Excel in eine Tabelle in Word zu kopieren. Meinen ersten ...

Microsoft Office

SharePoint, Word, Excel. Auslesen mittels VBA und XML

gelöst Frage von schwazzaMicrosoft Office10 Kommentare

Hallo zusammen, ich lese zurzeit in Excel mittels VBA ein Word-Dokument aus, das auf dem SharePoint liegt. Im Word-Dokument ...

Microsoft Office

Excel VBA vbyesno

gelöst Frage von Florian86Microsoft Office2 Kommentare

Hallo, ich habe folgenden Code Sub AbgerundetesRechteck1_Klicken() Dim wksOrig As Worksheet Dim wksStore As Worksheet Dim lngLastRow As Long ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 3 TagenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 3 TagenExchange Server4 Kommentare

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 3 TagenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 6 TagenVoice over IP11 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
VB for Applications
Euro-Zeichen in jedem neu erstellten Brief mit Word automatisch entfernen
gelöst Frage von imebroVB for Applications23 Kommentare

Hallo, ich habe ein Problem mit Word, bzw. mit dem €-Zeichen, welches bei Erstellung eines Word-Briefes automatisch eingesetzt wird. ...

Batch & Shell
Regedit eintrad ändern als Admin
Frage von cyberworm83Batch & Shell19 Kommentare

Hallo zusammen, ich bin derzeit als Rollout Techniker unterwegs und muss täglich bei zig Rechnern einen Registry Einträg ändern ...

Visual Studio
Prüfen, ob Programm schon disposed wurde
Frage von MarcoBornVisual Studio17 Kommentare

Hallo Forum, ich habe in VB.NET ein Programm geschrieben, welches Word startet und dort Daten ausliest. Obwohl ich die ...

Router & Routing
Mikrotik Config PTP
Frage von Marcel94Router & Routing17 Kommentare

Hallo, kennt sich jemand mit Mikrotik aus? Möchte gerne eine PTP Verbindung mit zwei SYTsq 5ac Antennen erstellen. So ...