Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Word Dokument aus Acces öffnen





Frage

Hallo habe da ein kleines problem. Wie kann ich aus Acces ein Word Dokument öffnen. Sprich habe eine Pfadangabe in einem Textfeld und möchte dann über einen Button dieses Dokument öffnen. Habe es schon mit getObject versucht, ging aber schief. Danke und viele Grüße

Antwort 1 von Armin

Hi ,

ich habe es so gemacht:

mit Word Template


Dim dlgWordTemplate As FileDialog
Dim vrt As Variant

Set dlgWordTemplate = FileDialog(msoFileDialogFilePicker)
            With dlgWordTemplate
                .AllowMultiSelect = False
                .Filters.Add "Word Vorlagen", "*.dot", 1
                .FilterIndex = 1
                .Title = "Bitte wählen Sie die Word-Vorlage aus:"
                If .Show = -1 Then
                    ´ multiselect is false, only one file returned.
                    For Each vrt In .SelectedItems
                        strTemplateName = vrt
                    Next vrt
                Else
                    MsgBox "Keine Word Vorlage ausgewählt.", vbInformation, "Mailing"
                End If
            End With


Achtung: ist nicht gerade elegant (For each vrt in ...), aber geht.

Ohne Template, einfach nur file öffnen:

zunächst zwei funktionen (Aus Access Code Book)
 
Public Function GetOfficeApp( _
  ByVal strOfficeApp As String) As Object

  ´Usage:  Dim objExcel As Excel.Application
  ´        Set objExcel = GetOfficeApp("excel")

  On Error Resume Next

  If IsOfficeAppRunning(strOfficeApp) Then
    
    Set GetOfficeApp = GetObject(, strOfficeApp & _
      ".Application")
      
    If err.Number <> 0 Then
        MsgBox err.Description
    End If

  Else

    Set GetOfficeApp = CreateObject(strOfficeApp & _
      ".Application")
  End If

End Function



Public Function IsOfficeAppRunning( _
  ByVal strOfficeApp As String) As Boolean
   
  Dim lngHandle As Long
  Dim strClassName As String

  On Error GoTo IsOfficeAppRunning_Error

  Select Case LCase$(strOfficeApp)

    Case "excel"
      strClassName = "XLMain"

    Case "word"
      strClassName = "OpusApp"

    Case "access"
      strClassName = "OMain"

    Case "powerpoint"
      strClassName = "PP9FrameClass"

    Case "outlook"
      strClassName = "rctrl_renwnd32"

    Case "frontpage"
      strClassName = "FrontPageExplorerWindow40"

    Case Else
      strClassName = ""

  End Select
   
  If strOfficeApp <> "" Then
    lngHandle = FindWindow(strClassName, vbNullString)

    If lngHandle <> 0 Then
      IsOfficeAppRunning = True
    End If

  End If

IsOfficeAppRunning_Exit:
  Exit Function

IsOfficeAppRunning_Error:
  On Error GoTo 0
   
End Function



Hier dann der Aufruf in der Anwendung


Dim wrdWordApp As Word.Application

Set wrdWordApp = GetOfficeApp("Word")

With wrdWordApp

´ ... Existiert die Datei schon ?!
If Dir(strDirFileName) <> "" Then
.Documents.Open strDirFileName
.Application.Visible = True

Else
.Documents.Add Template:=strTemplateName
.ActiveDocument.SaveAs strDirFileName
.Application.Visible = True
End If
end with



gruesse armin

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: