Ich habe nicht verstanden, wo der erste Code hin soll? Soll die Function die du mir geschrieben hast gestern mit "CopyTableFromWordDocument" weg? oder kommt die neue function einfach nochmal separat dazu?
Kommt dazu.
Steht also alles im gleichen Klassenmodul:
Private Function FileExists(File As String) As Boolean
FileExists = Dir$(File) <> ""
End Function
Private Function CopyTableFromWordDocument(WordDocumentPath As String) As Excel.Workbook
Dim objWdApp As Object 'Word.Application
Dim objWdDoc As Object 'Word.Document
Set objWdApp = CreateObject("Word.Application")
Set objWdDoc = objWdApp.Documents.Open(WordDocumentPath, ReadOnly:=True)
Dim wkb As Excel.Workbook
Set wkb = Workbooks.Add
With wkb.Worksheets(1)
Call objWdDoc.Tables(1).Range.Copy
Call .Paste(Destination:=.Range("A1"))
End With
Call objWdApp.Quit(SaveChanges:=False)
Set CopyTableFromWordDocument = wkb
End Function
zusammen mit ...
If Me.ComboBox4.ListIndex > -1 And Me.ComboBox5.ListIndex > -1 And Me.ComboBox6.ListIndex > -1 Then
Dim strFilePDF As String
Dim strFileDOCX As String
strFilePDF = "C:\...\" & Me.ComboBox4 & "\" & Me.ComboBox5 & "\" & Me.ComboBox6 & ".pdf"
strFileDOCX = "C:\...\" & Me.ComboBox4 & "\" & Me.ComboBox5 & "\" & Me.ComboBox6 & ".docx"
If FileExists(strFilePDF) Then
With CreateObject("Shell.Application")
Call .Open(strFilePDF)
End With
Else
Call MsgBox("Die PDF-Datei '" & strFilePDF & "' konnte nicht gefunden werden.", vbCritical)
End If
If FileExists(strFileDOCX) Then
Call CopyTableFromWordDocument(strFileDOCX)
Else
Call MsgBox("Die Word-Datei '" & strFileDOCX & "' konnte nicht gefunden werden.", vbCritical)
End If
End If
... wo auch immer das bei dir steht. Vermutlich in einem CommandButton in der UserForm.
Entschuldige, ich muss nochmal etwas korrigieren, weil ich einen fehler bei mir erkannt habe.
Wenn ich eine docx datei öffne, erscheint die MsgBox und anschließend öffnet sich das gewünschte Fenster. Kann man verhindern, dass die MsgBox hier aufgerufen wird?
Bei PDF Dateien ist es unverändert, Es erscheint die MsgBox und das Dokument wird nicht geöffnet.
Die MessageBox kommt nur, wenn die Datei (PDF, DOCX) nicht gefunden werden konnte. Ansonsten siehst du diese Meldung nicht.
Ich kann daher nicht sagen worauf du dich gerade beziehst.
Grüße
PS: Falls das noch nicht ganz klar sein sollte, dein Makro wird ersetzt durch das obige.
|