none
Word Dokument in Access einbinden

    Frage

  • Hallo liebe Community,

    der Titel drückt schon ein wenig von dem aus, was ich wissen möchte, allerdings klingt er wieder so simpel, dass man mir allenfalls unterstellen kann, ich hätte weder gegooglet noch gebingt, was nicht der Fall ist, aber erkläre ich doch einfach mal das Szenario:

    Wir haben firmenintern eine lokale Access-Datenbank, lokal heißt, dass jeder Mitarbeiter sich diese "herunterlädt", sprich vom Netzlaufkwerk auf den Rechner kopiert.

    In dieser Datenbank sollte ich einen kleinen Bereich hinzufügen, der sowohl diverse Ein- als auch Ausgaben von bestimmten Daten ermöglicht. Da das ganze so flexibel wie möglich sein soll und man von Benutzern leider nicht erwarten kann, dass sie nachdenken, bevor sie klicken, habe ich mir also gedacht, dass es doch echt schön wäre eine Hilfe-Datei, ein Tutorial auf einer Unterseite zur Verfügung zu stellen. Leider entpuppte sich das nicht so, wie ich mir das gedacht habe, was möglicherweise auch damit zusammenhängen kann, dass wir noch Office XP benutzen.

    Ein erster Einbettungsversuch via OLE-Objekt war zwar relativ erfolgreich, entpuppte sich aber als nutzlos als ich feststellte, dass man leider keinen Scrollbereich zur Verfügung stellen kann um ein (wahrscheinlich) 10 Seiten langes Tutorial mit Bildchen und Textchen und netten Pfeilchen darzustellen. Bedauerlicherweise wurde ich danach auch nicht weiter fündiger, da anscheinend meine Keywords nicht ausreichten um meine Anforderung zu beschreiben.

    Eins von folgenden beiden Soll-Szenarien würde ich gerne umsetzen und dazu benötige ich eure Hilfe:

    Szenario I:

    Wie oben beschrieben, wird das Dokument eingebunden, muss nur über einen Scrollbereich verfügen. Possible or not?

    Szenario II:

    Ich könnte mir auch vorstellen, das Dokument in einer Tabelle als Datei zu speichern (OLE-Objekt) und dieses quasi als "Download" anzubieten, sprich per Knopfdruck kann das Dokument aus der Datenbank in Word geöffnet werden, eine .pdf-Alternative wäre nichts desto trotz eine Überlegung wert. Possible or not?

    Ich bedanke mich von vornherein für alle nett gemeinten und hilfreichen Ratschläge und habe auch gerne ein offenes Ohr für weitere Alternativen.
    Donnerstag, 29. August 2013 12:30

Alle Antworten

  • Moin, moin!

    Ich öffne das Handbuch immer direkt in Word.

    Mit diesem Code kannst Du auch gleich eine Textmarke im Word-Dokument anspringen und so dem User Hilfe-Buttons an verschiedenen Stelle der Anwendung anbieten:

    Function Handbuch(strHBPfad as string, strHandbuch as string, Optional strMarke as string)
    
          On Error Resume Next
          Set wrdApp = GetObject(, "Word.Application")
          Select Case Err
            Case 0
            Case Else
              Set wrdApp = CreateObject("Word.Application")
          End Select
          With wrdApp
            .Visible = True
            If FindHandbuch(wrdApp, strHandbuch) Then
                'Handbuch ist schon geöffnet
                wrdApp.Application.Activate
              Else
                .Documents.Open FileName:=strHBPfad, _
                                        ReadOnly:=True, AddToRecentFiles:=False
                .Application.Activate
                .Application.CommandBars("Worksheet Menu Bar").Enabled = False
            End If
            On Error Resume Next
            .Selection.GoTo What:=wdGoToBookmark, Name:=strMarke
            Select Case Err
              Case 0
              Case Else
                Statusmeldung "Textmarke " & strMarke & " nicht gefunden!", 3
            End Select
            .Application.WindowState = 1 '0:Wiederherstelen 1: Maximieren 2: Minimieren
            .ActiveWindow.ActivePane.View.Zoom.PageFit = 2
            .ActiveWindow.DocumentMap = True
          End With
          Set wrdApp = Nothing
    
    End function
    
    Private Function FindHandbuch(wrdApp As Object, strHandbuch As String) As Boolean
     
      Dim vDoc
     
      FindHandbuch = False
      For Each vDoc In wrdApp.Documents
        If vDoc.Name = strHandbuch Then
          FindHandbuch = True
        End If
      Next
    End Function

    Ich musste die Funktion ein bisschen kürzen, weil ich im Original noch ein paar andere eigene Funktionen aufrufe.

    Vielleicht läuft es so nicht auf Anhieb, aber prinzipiell ist das gut so.

    Ingo

    Donnerstag, 29. August 2013 13:21
  • Szenario II:

    Ich könnte mir auch vorstellen, das Dokument in einer Tabelle als Datei zu speichern (OLE-Objekt) und dieses quasi als "Download" anzubieten, sprich per Knopfdruck kann das Dokument aus der Datenbank in Word geöffnet werden, eine .pdf-Alternative wäre nichts desto trotz eine Überlegung wert. Possible or not?

    Wenn die Anzahl der Dokumente überschaubar ist, dann könntest Du PDF-Dateien in ein passendes Feld in die Datenbank packen. Beim Doppelklick auf das Feld im Formular öffnest Du die Datei mit dem verknüpften Programm. Ist kein Hexenwerk und benötigt nur ein paar Zeile Code.

    Der Vorschlag von Ingo macht IMHO auch ordentlich was her, gleich zum richtigen Punkt springen ist schon richtig gut. ;)


    Servus
    Winfried

    GPOs: http://www.gruppenrichtlinien.de/
    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/

    Donnerstag, 29. August 2013 20:00
  • Hier wird beschrieben wie man Hilfedateien in Access einbindet: http://support.microsoft.com/kb/275117/de

    http://office.microsoft.com/de-de/access-help/erstellen-benutzerdefinierter-hilfe-HP005188541.aspx

    Und es gibt auch noch ein paat Tools, die einem die Arbeit abnehmen. ;)




    Servus
    Winfried

    GPOs: http://www.gruppenrichtlinien.de/
    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/

    Freitag, 30. August 2013 05:06