Object Library per VBA ?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Object Library per VBA ?
von: frankyb
Geschrieben am: 16.02.2005 13:35:30
Hallo Exceler,
habe eine grundsätzliche Frage: kann man per Makro einen Verweis im Excelmodul setzen?
Unten aufgeführtes Makro (habe ich von Hans) benötigt einen Verweis auf die „Microsoft Word Object Library“.
Nun wird die Prozedur auf verschiedenen Excel- bzw. Wordversion (8,9,10) verwendet und ich kann vom User nicht erwarten, dass er den Verweis entsprechend manuell ändert (könnte er auch nicht – weil Projekt ist geschützt).
Hat hier jemand einen Tipp oder eine Idee wie man das (anders) lösen könnte ?
Danke und Gruß
Frank


Sub OpenWordDoc()
Sheets("Steuerung").Activate
Dim WordObj As Word.Application
Dim WordDoc As Word.Document
    On Error GoTo w
    AppActivate "Microsoft Word"
    Set WordObj = Word.Application
    GoTo n
w: Set WordObj = CreateObject("Word.Application")
n: Set WordDoc = WordObj.Documents.Open(Range("F43").Value) 'Pfad-WordDatei
    Sheets("Steuerung").Activate
    Worksheets("Steuerung").Range("M2:N16").Copy  'Datenbereich
    WordDoc.Range.Paste
    WordDoc.SaveAs Range("E66").Value 'Speicher Pfad
    WordDoc.Application.Run "Makro1"  'Wordmakro
    WordObj.Visible = True
    WordDoc.Application.Activate
End Sub

Bild

Betrifft: AW: Object Library per VBA ?
von: Ulf
Geschrieben am: 16.02.2005 13:39:51
Wenn du LateBinding(entspricht der Syntax Set WordObj = CreateObject("Word.Application")
verwendest, ist kein Verweis erforderlich.
dann müssen die Objektvariablen aber auch neutral deklariert sein, also nicht:
Dim WordObj As Word.Application
Dim WordDoc As Word.Document
sondern:
Dim WordObj As Object
Dim WordDoc As Object
Ulf
Bild

Betrifft: AW: Object Library per VBA ? Aber ?
von: frankyb
Geschrieben am: 16.02.2005 14:19:07
Hallo Ulf,
danke für die Antwort.
Leider reichen meine Kenntnisse nicht aus um das in der Praxis umzusetzen.
Was meinst du mit LateBinding und wie sehe das im Code aus?
Danke
Frank

... LateBinding(entspricht der Syntax Set WordObj = CreateObject("Word.Application")...
Bild

Betrifft: AW: Object Library per VBA ? Aber ?
von: Ulf
Geschrieben am: 16.02.2005 15:45:51
Beispiel:
Option Explicit

Sub Worddatei_oeffnen()
Const FName As String = "C:\Test.doc"
Dim appWord As Object
If Dir(FName) <> "" Then
  Set appWord = CreateObject("Word.Application")
  appWord.Visible = True
  appWord.Documents.Open Filename:=FName
  Set appWord = Nothing
Else
  MsgBox "Das Dokument " & FName & " wurde nicht gefunden!", 64, "Hinweis..."
End If
End Sub

Ulf
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bezug zu externer Datei"