Dateiname aus Zelle
17.10.2005 08:41:06
Nimmermehr
kann mir nochmal kurz jemand helfen? Ich möchte, dass sich Word den Dateinamen aus dem Excelsheet aus der Zelle B3 holt, wie weise ich dem String "Testvariable" diesen Wert zu?. Was muss ich da noch adden? Ausserdem kopiert der leider nicht die Tabelle (Range("A98:B106")) was habe ich da falsch gemacht.
Gruß
Nimmermehr
Sub Word_Dokument_von_Excel_aus_steuern()
Dim myWord As Object
Dim Testvariable As String
'Fehlerroutine für die Objectabfrage aktivieren
On Error Resume Next
'Abfragen einer besthenden WORD-Instanz um wiederholtes starten zu verhindern
'9 = Word 2000, 10 = Word XP
Set myWord = GetObject("Word.Application")
If Err.Number <> 0 Then
'Fehlervariable leeren wenn Instanz noch nicht besteht
Err.Clear
'Zuweisung der Instanz
Set myWord = CreateObject("Word.Application")
'Instanz öffnen
'Um das ganze etwas im Hintergrund laufen zu lassen
'kann man den Status "wdWindowStateMinimize" verwenden
myWord.Visible = True: objWW.WindowState = wdWindowStateMaximize
Else
'Instanz besteht bereits
myWord.Activate
'Instanz in der Vordergrund bringen oder
'mit "wdWindowStateMinimize" im Hintergrund ausführen
myWord.Visible = True: objWW.WindowState = wdWindowStateMaximize
End If
'Hier muss der der Dateiname stehen der verwendet werden soll
'Es sollte aber eine Dokumentvorlage verwendet werden
'um keine Änderungen an den Textmarken beim einfügen zu verursachen
myWord.Application.Documents.Open "C:\Test.doc"
'Die Textmarken "a1, a2, a3" müssen im Dokument bereits bestehen
'Dann werden nach dem öffnen des Dokuments die Werte von Tabelle1
'A1, B1 und C1 in die jeweiligen Textmarken geschrieben
myWord.ActiveDocument.Bookmarks("a1").Range.Text = Worksheets("Tabelle1").Range("A96")
myWord.ActiveDocument.Bookmarks("a2").Range.Text = Worksheets("Tabelle1").Range("A98:B106")
myWord.ActiveDocument.Bookmarks("a3").Range.Text = Worksheets("Tabelle1").Range("A108")
myWord.ActiveDocument.Bookmarks("a4").Range.Text = Worksheets("Tabelle1").Range("A111")
'Das aktive WordDokument drucken
'myWord.ActiveDocument.PrintOut
'Dokument schliessen ohne speichern
'myWord.ActiveDocument.Close savechanges:=False
'Speichern mit fixem Namen
'myWord.ActiveDocument.SaveAs Filename:="DokumentName", FileFormat:=wdFormatDocument
'Speichern mit Variable
myWord.ActiveDocument.SaveAs Filename:=Testvariable, FileFormat:=wdFormatDocument
'WORD-Instanz schliessen
myWord.Application.Quit (True)
'Variable leeren
Set myWord = Nothing
End Sub