Word-
Programmierung unter Excel Wichtig: Um unter Excel-VBA Word-Objekte zu programmieren, muss folgender Verweis gesetzt werden:
|
|
Befehl / Beispiele | |
Word über Excel starten | |
Beispiel: Sub WordStarten() '+--------------------------+ '| Öffnet eine Word-Datei | '+--------------------------+ Datei = "D:\WordTest2.doc" Shell "WinWord.exe " & Datei, vbMaximizedFocus End Sub |
|
Worddatei über Excel- VBA erstellen | |
Beispiel: Sub WordDateiErstellen() '+---------------------------------------------------------------+ '| Erstellt eine Worddatei, schreibt und formatiert einen Text | '+---------------------------------------------------------------+ Dim Datei As String Dim MSWord As Object ' Bereitet ein Word-Objekt vor Set MSWord = CreateObject("Word.Application") ' Erstellt einen Verweis auf das Word-AcitiveX-Objekt MSWord.Visible = True ' Wenn Word sichtbar sein soll, diese Option benutzen. Datei = "D:\WordTest.doc" ' Speicherort und Dateiname ' der zu erstellenden Worddatei MSWord.Documents.Add ' Worddatei erstellen With MSWord.Selection .Font.Name = "Arial" ' Schriftart setzen .Font.Size = 20 ' Schriftgröße setzen .Font.Color = wdColorRed ' Schriftfarbe setzen .Font.Bold = True ' Fettschrift setzen .Font.Italic = True ' Kursivschrift setzen .TypeText Text:="Text" ' Text in Word-Dokument schreiben .TypeParagraph ' Zeilenumbruch setzen End With MSWord.ActiveDocument.SaveAs Datei ' Dokument abspeichern MSWord.ActiveDocument.Close ' Dokument schließen MSWord.Quit ' Word schliessen Set MSWord = Nothing ' ActiveX-Verweis entfernen End Sub |
|
Wordtabelle aus Excel erstellen | |
Beispiel: '+---------------------------------+ '| Erstellt eine Tabelle in Word | '+---------------------------------+ Dim AzSpalten As Integer Dim AzZeilen As Integer Dim MSWord As Object: Set MSWord = CreateObject("Word.application") MSWord.Visible = True MSWord.Documents.Add AzZeilen = 3 AzSpalte = 3 MSWord.ActiveDocument.Tables.Add MSWord.Selection.Range, AzZeilen, AzSpalten With MSWord.ActiveDocument.Tables(1).Borders ' Linenart setzen Linienbreite setzen Linienfarbe setzen .OutsideLineStyle = wdLineStyleSingle: .OutsideLineWidth = wdLineWidth300pt: .OutsideColor = RGB(0, 0, 255) .InsideLineStyle = wdLineStyleSingle: .InsideLineWidth = wdLineWidth100pt: .InsideColor = RGB(255, 0, 0) End With Set MSWord = Nothing |