CK82 Geschrieben 23. November 2001 Teilen Geschrieben 23. November 2001 Hi leute, Kann mir jemand sagen wie ich in VB oder VBA ein Word Dokument öffne. Ich weiß leider nur wie man Word öffnet. Danke für di Hilfe CK82 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 23. November 2001 Teilen Geschrieben 23. November 2001 Hi! Mach einfach ein OLE. Da kannst du einstellen, wie das Worddokument geöffnet werden soll (nämlich mit Word und nicht direkt in deinem Programm). Das OLE kannst du unsichtbar machen. Aufrufen kannst du es dann in einer ganz normalen Prozedur. Du kannst auch den Dokumentlink des OLEs während der Laufzeit ändern, z.B. den Pfad in ein Textfeld eintippen, das Dokument aus einer Dateiliste (Explorer-like) auswählen etc. OLE funktioniert nicht mit allen Dateiarten. Wenn du ein "jede Datei mit zugehörigem Programm öffnen" realisieren möchtest, dann kannst du das ganz einfach mit folgendem Code (VB 6) bewerkstelligen: Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" (ByVal hWnd As Long, _ ByVal lOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Private Declare Function GetSystemDirectory Lib "kernel32" _ Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () _ As Long Private Const SE_ERR_NOASSOC = 31 Private Const SE_ERR_NOTFOUND = 2 'Dokument öffnen und ggf. autom. den '"Öffnen mit..." - Dialog anzeigen Private Sub DocumentOpen(sFilename As String) Dim sDirectory As String Dim lRet As Long Dim DeskWin As Long DeskWin = GetDesktopWindow() lRet = ShellExecute(DeskWin, "open", sFilename, _ vbNullString, vbNullString, vbNormalFocus) If lRet = SE_ERR_NOTFOUND Then 'Datei nicht gefunden ElseIf lRet = SE_ERR_NOASSOC Then 'Wenn die Dateierweiterung noch nicht bekannt ist... 'wird der "Öffnen mit..."-Dialog angezeigt. sDirectory = Space(260) lRet = GetSystemDirectory(sDirectory, Len(sDirectory)) sDirectory = Left(sDirectory, lRet) Call ShellExecute(DeskWin, vbNullString, _ "RUNDLL32.EXE", "shell32.dll,OpenAs_RunDLL " & _ sFilename, sDirectory, vbNormalFocus) End If End Sub Private Sub Form_Load() DocumentOpen App.Path & "test.pdf" End Sub Gruß und viel Spaß beim Coden Technician Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CK82 Geschrieben 23. November 2001 Autor Teilen Geschrieben 23. November 2001 Du? Kannst du mir auch einfach den Code geben um eine bestimmtes Festes Word Dokument zu öffnen? Und dann sollte es auch noch in VBA tun. Sorry das ich mich so blöde anstelle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Technician Geschrieben 23. November 2001 Teilen Geschrieben 23. November 2001 Sorry - ich hab den Code gerade nicht hier. Du stellst dich gar nicht "blöd" an; ich vermute sehr stark, du bist noch Anfänger auf dem Gebiet VB und jeder hat einmal "klein" angefangen (ich natürlich auch!). in VBA wüsste ich's auf Anhieb gar nicht -> seit ich VB programmiere, kein VBA mehr gemacht... Wenn du es in VB programmieren willst, dann könntest du das mit dem OLE evl. mit Hilfe der Doku selber hinbekommen – ansonsten kann dir bestimmt noch jemand weiterhelfen! Gruß, Technician Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Netzer82 Geschrieben 23. November 2001 Teilen Geschrieben 23. November 2001 Alos unter VBA habe ich die Problematik so gelöst. Ist allerdings aus einem Word Makro Documents.Open ("Hier Verzeichnis eingeben mit kompletten DAteinamen + Endung eingeben.") Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.