{"id":55000772,"date":"2011-04-01T00:00:00","date_gmt":"2020-05-22T22:02:32","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=772"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"OfficeDokumente_in_Formularen_anzeigen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/","title":{"rendered":"Office-Dokumente in Formularen anzeigen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg09.met.vgwort.de\/na\/fdc7fb66d0e6485689aa4100b96d4566\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Es kommt immer wieder vor, dass eine Anwendung entweder auf die Daten in Word- oder Excel-Dokumenten zugreift &#8211; entweder um ihre Inhalte zu lesen oder diese zu &auml;ndern. Normalerweise &ouml;ffnen Sie das entsprechende Dokument dann entweder sichtbar oder unsichtbar und f&uuml;hren die gew&uuml;nschten Aktionen durch. Wie w&auml;re es, wenn Sie Word, Excel und Co. statt im eigenen Fenster direkt innerhalb eines Access-Formulars anzeigen k&ouml;nnten Dieser Beitrag stellt die dazu notwendigen Voraussetzungen und Techniken vor.<\/b><\/p>\n<p>Nat&uuml;rlich gibt es mit dem OLE-Objekt-Feld in Tabellen und dem Steuerelement <b>Gebundenes Objektfeld <\/b>bereits eine M&ouml;glichkeit, Word-, Excel- und andere Office-Dokumente innerhalb eines Access-Dokuments anzuzeigen.<\/p>\n<p>Bild 1 zeigt, wie das etwa unter Access 2010 aussieht: Dort wird das Access-Ribbon komplett ausgeblendet und das Word-Ribbon aktiviert &#8211; mit Ausnahme des Datei-Registerreiters.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic003.png\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Bearbeiten eines im OLE-Steuerelement angezeigten Word-Dokuments innerhalb eines Access-Formulars<\/span><\/b><\/p>\n<p>Es f&auml;llt jedoch sehr unangenehm auf, dass ein Hin- und Herschalten zwischen dem gebundenen Objektfeld und eventuellen weiteren Steuerelementen im Formular ein st&auml;ndiges Flackern sowie das Ein- und Ausblenden des Men&uuml;s der jeweiligen Anwendung hervorruft.<\/p>\n<p>Alternativ &ouml;ffnen Sie das Office-Dokument direkt etwa in einem eigenen Word- oder Excel-Fenster. Hier ist jedoch viel Aufwand erforderlich, um die Benutzeraktionen in Zusammenhang mit dem jeweiligen Element zu steuern &#8211; der Benutzer kann das Dokument beispielsweise schlie&szlig;en oder speichern, auch wenn dies nicht gew&uuml;nscht ist.<\/p>\n<p><b>Das DSOFramer-Steuerelement<\/b><\/p>\n<p>Grundlage f&uuml;r die in diesem Beitrag vorgestellten Techniken ist das ActiveX-Steuerelement <b>DSOFramer_moss.ocx<\/b>.<\/p>\n<p>Es handelt sich dabei um ein Beispiel von Microsoft zum Einbetten OLE-f&auml;higen Anwendungen wie Word oder Excel. Die Original-Quellen von Microsoft, die offensichtlich nicht mehr verf&uuml;gbar sind, wurden durch Sascha Trowitzsch angepasst und eingedeutscht.<\/p>\n<p>Die im Download verf&uuml;gbare Datei <b>DSOFramer_moss.ocx <\/b>muss mit der folgenden Anweisung im System registriert werden:<\/p>\n<pre>RegSvr32.exe &lt;Dateipfad&gt;.DSOFramer_moss.ocx<\/pre>\n<p>Um das Steuerelement zu einem Formular hinzuzuf&uuml;gen, &ouml;ffnen Sie das Formular in der Entwurfsansicht und zeigen den Dialog zum Einf&uuml;gen von ActiveX-Steuerelementen an. Dort finden Sie nun auch einen Eintrag namens <b>DSOFramer Control Object <\/b>(s. Bild 3 aus.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic001.png\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Einf&uuml;gen des DSOFramer-Steuerelements<\/span><\/b><\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic002.png\" alt=\"pic002.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Ein mit dem DSOFramer-Steuerelement ausgestattetes Formular in der Entwurfsansicht<\/span><\/b><\/p>\n<p>Beachten Sie, dass das <b>DSOFramer<\/b>-Steuerelement lediglich den Rahmen f&uuml;r die Anzeige der Office-Dokumente liefert. Die Anwendungen selbst, also Word, Excel und Co., m&uuml;ssen ebenfalls auf dem betroffenen Rechner installiert sein.<\/p>\n<p><b>Dokument &ouml;ffnen<\/b><\/p>\n<p>Als Erstes interessiert uns nat&uuml;rlich, wie wir ein Dokument in das <b>DSOFramer<\/b>-Steuerelement laden und dieses somit anzeigen k&ouml;nnen.<\/p>\n<p>Die einfachste M&ouml;glichkeit bietet die Benutzeroberfl&auml;che des Steuerelements: Hinter dem <b>File<\/b>-Men&uuml; oben links verbergen sich n&auml;mlich die &uuml;blichen Datei-Befehle, darunter auch einer zum &Ouml;ffnen eines Dokuments.<\/p>\n<p>Aber Sie k&ouml;nnen ein Dokument nat&uuml;rlich auch unter Einsatz von VBA &ouml;ffnen. Dies erledigt die Methode <b>Open <\/b>des Objekts <b>objDSOFramer<\/b>, die Sie beispielsweise so aufrufen:<\/p>\n<pre>Me!ctlDSOFramer.Open CurrentProject.Path &amp; &quot;\\test.docx&quot;<\/pre>\n<p>Im Formular erscheint nun wie in Bild 4 das angegebene Dokument. Die <b>Open<\/b>-Methode erm&ouml;glicht noch weitere Parameter, zum Beispiel diese:<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic005.png\" alt=\"pic005.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Das DSOFramer-Steuerelement mit Word als Anwendung innerhalb eines Access-Formulars<\/span><\/b><\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>ReadOnly<\/b>: Legt fest, ob das Dokument schreibgesch&uuml;tzt ge&ouml;ffnet werden soll. Wird <b>True <\/b>angegeben, k&ouml;nnen Sie das Dokument zwar bearbeiten, aber nicht unter dem gleichen Namen speichern. Mit der Boolean-Eigenschaft <b>IsReadOnly <\/b>k&ouml;nnen Sie sp&auml;ter abfragen, ob das aktuelle Dokument schreibgesch&uuml;tzt wurde (<b>Me!ctlDSOFramer.IsReadOnly<\/b>).<\/li>\n<li class=\"aufz-hlung\"><b>ProgId<\/b>: Gibt die <b>ProgID <\/b>der Anwendung an, mit der das Dokument ge&ouml;ffnet werden soll.<\/li>\n<\/ul>\n<p>Genau wie hier unter Office 2010 erscheinen auch unter &auml;lteren Versionen die Men&uuml;leisten\/Ribbons der jeweiligen Anwendung.<\/p>\n<p>Allerdings sind einige Elemente nicht verf&uuml;gbar: Hier unter Office 2010 fehlt beispielsweise der Registerreiter <b>Datei<\/b>, der den Backstage-Bereich mit den Funktionen etwa zum Speichern oder Drucken des aktuellen Dokuments anzeigt.<\/p>\n<p>Daf&uuml;r liefert das <b>DSOFramer<\/b>-Steuerelement ein eigenes Men&uuml; mit den entsprechenden Befehlen (s. Bild 5).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic006.png\" alt=\"pic006.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: Dateimen&uuml; des DSOFramer-Steuerelements<\/span><\/b><\/p>\n<p><b>Steuerelement referenzieren<\/b><\/p>\n<p>Auch wenn sich die Eigenschaften und Methoden von ActiveX-Steuerelementen per direkter Referenz auf das Steuerelement (beispielsweise <b>Me!ctlDSOFramer<\/b>) nutzen lassen, wollen wir daf&uuml;r eine eigene Objektvariable deklarieren, die beim &Ouml;ffnen des Formulars gef&uuml;llt wird.<\/p>\n<p>Einer der Vorteile dieser Vorgehensweise ist, dass so alle Eigenschaften und Methoden des Objekts per IntelliSense verf&uuml;gbar sind:<\/p>\n<pre>Dim WithEvents objDSOFramer As\r\nDSOFramer.FramerControl<\/pre>\n<p>Das Schl&uuml;sselwort <b>WithEvents <\/b>bewirkt, dass Sie f&uuml;r das neue Objekt <b>objDSOFramer <\/b>Ereignisprozeduren anlegen k&ouml;nnen &#8211; dazu sp&auml;ter mehr.<\/p>\n<p>Anschlie&szlig;end hinterlegen Sie die folgende Prozedur f&uuml;r die Ereigniseigenschaft <b>Beim Laden <\/b>des Formulars:<\/p>\n<pre>Private Sub Form_Load()\r\n    Set objDSOFramer = Me!ctlDSOFramer.Object\r\nEnd Sub<\/pre>\n<p><b>DSOFramer-Elemente ein- und ausblenden<\/b><\/p>\n<p>Die beiden Leisten im oberen Bereich des <b>DSOFramer<\/b>-Steuerelements ben&ouml;tigen Sie m&ouml;glicherweise nicht f&uuml;r jeden Einsatzzweck.<\/p>\n<p>Die Titelleiste mit dem Dateinamen blenden Sie mit der Eigenschaft <b>TitleBar <\/b>ein und aus. Die folgende Anweisung l&auml;sst diese verschwinden:<\/p>\n<pre>Me!ctlDSOFramer.Titlebar = False<\/pre>\n<p>Mit den beiden Eigenschaften <b>TitlebarColor <\/b>und <b>TitlebarTextColor <\/b>k&ouml;nnen Sie auch die Schrift- und Hintergrundfarbe der Titelleiste anpassen, hier etwa mit wei&szlig;er Schrift und grauem Hintergrund:<\/p>\n<pre>With Me!ctlDSOFramer\r\n    .TitlebarColor = &amp;HCCCCCC\r\n    .TitlebarTextColor = &amp;HFFFFFF\r\nEnd With<\/pre>\n<p>Die Men&uuml;leiste blenden Sie mit der Eigenschaft <b>MenuBar <\/b>ein und aus. Um diese auszuschalten, verwenden Sie beispielsweise die folgende Anweisung:<\/p>\n<pre>Me!DSOFramer.MenuBar = False<\/pre>\n<p>Schlie&szlig;lich k&ouml;nnen Sie auch die Anzeige der Men&uuml;-\/Ribbonleiste der angezeigten Anwendung beeinflussen. Dies erledigen Sie mit der entsprechenden Einstellung der Eigenschaft <b>MenuBar<\/b>, hier etwa zum Ausblenden:<\/p>\n<pre>Me!ctlDSOFramer.MenuBar = False<\/pre>\n<p>Wenn Sie alle drei Elemente ausblenden, zeigt das Formular nur noch das nackte Dokument an.<\/p>\n<p>Elemente der Host-Anwendung wie etwa die Kontextmen&uuml;s sind jedoch nach wie vor verf&uuml;gbar (s. Bild 6).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic007.png\" alt=\"pic007.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Dieses Access-Formular zeigt nur noch das reine Dokument an.<\/span><\/b><\/p>\n<p><b>Aussehen des DSOFramer-Steuerelements<\/b><\/p>\n<p>Es gibt noch ein paar Eigenschaften, mit denen Sie das Aussehen des Steuerelements beeinflussen k&ouml;nnen:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>BackColor<\/b>: Stellt die Hintergrundfarbe ein, solange kein Dokument geladen ist<\/li>\n<li class=\"aufz-hlung\"><b>BorderColor<\/b>: Stellt die Rahmenfarbe ein.<\/li>\n<li class=\"aufz-hlung\"><b>BorderStyle<\/b>: Stellt die Rahmenart ein. M&ouml;gliche Werte: <b>dsoBorderNone <\/b>(<b>0<\/b>), <b>dsoBorderFlat <\/b>(<b>1<\/b>), <b>dsoBorder3D <\/b>(<b>2<\/b>) und <b>dsoBorder3DThin <\/b>(<b>3<\/b>).<\/li>\n<li class=\"aufz-hlung\"><b>ForeColor<\/b>: Stellt die Farbe des Vordergrundes ein. Es ist allerdings nicht ersichtlich, wo diese sichtbar ist.<\/li>\n<li class=\"aufz-hlung\"><b>Caption<\/b>: Entspricht dem Text in der Titelzeile links vom Dateinamen, falls vorhanden.<\/li>\n<\/ul>\n<p><!--30percent--><\/p>\n<p><b>DSOFramer-Men&uuml; einstellen<\/b><\/p>\n<p>Auch das Aussehen des Men&uuml;s k&ouml;nnen Sie einstellen &#8211; zumindest, was das Aktivieren und Deaktivieren der Eintr&auml;ge angeht. Die notwendige Eigenschaft hei&szlig;t <b>EnableFileCommand <\/b>und erwartet einen Parameter und eine Wertzuweisung.<\/p>\n<p>Mit dem Parameter <b>Item <\/b>&uuml;bergeben Sie eine Konstante, die dem Men&uuml;eintrag entspricht. Durch die Wertzuweisung &uuml;bergeben Sie die Information, ob der mit dem Parameter angegebene Men&uuml;eintrag aktiviert oder deaktiviert werden soll. Es gibt die folgenden Konstanten:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>dsoFileNew <\/b>(<b>0<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFileOpen <\/b>(<b>1<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFileClose <\/b>(<b>2<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFileSave <\/b>(<b>3<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFileSaveAs <\/b>(<b>4<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFilePrint <\/b>(<b>5<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFilePageSetup <\/b>(<b>6<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFileProperties <\/b>(<b>7<\/b>)<\/li>\n<li class=\"aufz-hlung\"><b>dsoFilePrintPreview <\/b>(<b>8<\/b>)<\/li>\n<\/ul>\n<p>Die folgende Anweisung deaktiviert beispielsweise den Eintrag zum Schlie&szlig;en des aktuellen Dokuments:<\/p>\n<pre>objDSOFramer.EnableFileCommand(dsoFileClose) = False<\/pre>\n<p><b>Dokumente im DSOFramer<\/b><\/p>\n<p>Nachdem Sie erfahren haben, wie Sie den <b>DSOFramer <\/b>an Ihre Bed&uuml;rfnisse anpassen, schauen wir uns an, was Sie mit Dokumenten alles anstellen k&ouml;nnen.<\/p>\n<p>Dads Sie Dokumente mit der <b>Open<\/b>-Methode oder &uuml;ber das Dateimen&uuml; &ouml;ffnen k&ouml;nnen, haben Sie bereits gelesen. <\/p>\n<p>Eine weitere Methode, ein Dokument zu &ouml;ffnen oder neu anzulegen, bietet der Befehl <b>ShowDialog<\/b>. Dieser erwartet eine der folgenden Konstanten, die stellvertretend f&uuml;r den entsprechenden Dialogtyp stehen:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>dsoDialogNew <\/b>(<b>0<\/b>): Zeigt einen Dialog zum Ausw&auml;hlen des Typs des neuen Dokuments an (s. Bild 7). Nach Auswahl wird das entsprechende Dokument im <b>DSOFramer<\/b>-Steuerelement angezeigt.<\/li>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic008.png\" alt=\"pic008.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7: Ausw&auml;hlen des Typs eines neuen Dokuments<\/span><\/b><\/p>\n<li class=\"aufz-hlung\"><b>dsoDialogOpen <\/b>(<b>1<\/b>): Zeigt einen <b>Datei &ouml;ffnen<\/b>-Dialog an, dessen Filter auf Office-Dokumente voreingestellt ist.<\/li>\n<li class=\"aufz-hlung\"><b>dsoDialogSave <\/b>(<b>2<\/b>): &Ouml;ffnet einen Dialog zum Ausw&auml;hlen des Speicherortes und -namens.<\/li>\n<li class=\"aufz-hlung\"><b>dsoDialogSaveCopy <\/b>(<b>3<\/b>): &Ouml;ffnet ebenfalls einen <b>Datei speichern<\/b>-Dialog. Allerdings wird hier der aktuelle Dateiname vorgegeben und Sie k&ouml;nnen die aktuellen Dokumenteigenschaften anpassen.<\/li>\n<li class=\"aufz-hlung\"><b>dsoDialogPrint <\/b>(<b>4<\/b>): &Ouml;ffnet den <b>Drucken<\/b>-Dialog.<\/li>\n<li class=\"aufz-hlung\"><b>dsoDialogPageSetup <\/b>(<b>5<\/b>): &Ouml;ffnet den Dialog zum Einrichten einer zu druckenden Seite (s. Bild 8).<\/li>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic009.png\" alt=\"pic009.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8: Dialog zum Einrichten einer zu druckenden Seite<\/span><\/b><\/p>\n<li class=\"aufz-hlung\"><b>dsoDialogProperties <\/b>(<b>6<\/b>): Zeigt die Eigenschaften der ge&ouml;ffneten Datei an.<\/li>\n<\/ul>\n<p>Im Beispielformular <b>frmDSOFramer <\/b>haben wir sieben Schaltfl&auml;chen untergebracht, mit denen Sie die verschiedenen Dialoge aufrufen k&ouml;nnen (s. Bild 9).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic010.png\" alt=\"pic010.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9: Schaltfl&auml;chen zum Aufrufen der Dialoge des DSOFramer-Steuerelements<\/span><\/b><\/p>\n<p>Die Schaltfl&auml;chen l&ouml;sen jeweils fast identische Ereignisprozeduren aus. F&uuml;r das Anlegen eines neuen Dokuments sieht das etwa so aus:<\/p>\n<pre>Private Sub cmdDateiNeu_Click()\r\n    objDSOFramer.ShowDialog dsoDialogNew\r\nEnd Sub<\/pre>\n<p>Fehlt noch ein Mechanismus, der die Schaltfl&auml;chen aktiviert beziehungsweise deaktiviert. Einige Schaltfl&auml;chen sollen n&auml;mlich nur verf&uuml;gbar sein, wenn das <b>DSOFramer<\/b>-Steuerelement ein Dokument anzeigt. Hier ist die Eigenschaft <b>ActiveDocument <\/b>interessant, die einen Verweis auf das aktuelle Dokument zur&uuml;ckgibt.<\/p>\n<p>Die folgende Prozedur fragt diese Eigenschaft ab und speichert das Ergebnis in der Variablen <b>obj<\/b>. Da dies einen Fehler ausl&ouml;st, wenn das <b>DSOFramer<\/b>-Steuerelement gerade kein Dokument anzeigt, deaktiviert die Prozedur zuvor die Fehlerbehandlung und pr&uuml;ft nachher, ob ein Fehler ausgel&ouml;st wurde.<\/p>\n<p>Falls ja, geht die Prozedur davon aus, dass der Fehler von einem nicht vorhandenen Dokument herr&uuml;hrt. In diesem Fall erh&auml;lt die Variable <b>bolEnabled <\/b>den Wert <b>False<\/b>. Dieser Wert wird wiederum an die <b>Enabled<\/b>-Eigenschaft der betroffenen Schaltfl&auml;chen weitergegeben, um diese gegebenenfalls zu deaktivieren:<\/p>\n<pre>Private Sub SchaltflaechenAktivieren()\r\n    Dim bolEnabled As Boolean\r\n    Dim obj As Object\r\n    On Error Resume Next\r\n    Set obj = objDSOFramer.ActiveDocument\r\n    bolEnabled = Err.Number = 0\r\n    On Error GoTo 0\r\n    Me!cmdDateiSpeichern.Enabled = bolEnabled\r\n    Me!cmdDrucken.Enabled = bolEnabled\r\n    Me!cmdEigenschaften.Enabled = bolEnabled\r\n    Me!cmdKopieSpeichern.Enabled = bolEnabled\r\n    Me!cmdSeiteEinrichten.Enabled = bolEnabled\r\nEnd Sub<\/pre>\n<p>Damit die Schaltfl&auml;chen zu jedem Zeitpunkt den richtigen Zustand aufweisen, platzieren Sie den Aufruf der Prozedur <b>SchaltflaechenAktivieren <\/b>an verschiedenen Stellen. Die erste ist die <b>Beim Laden<\/b>-Ereignisprozedur des Formulars, die weiteren Stellen sind die durch das <b>DSOFramer<\/b>-Steuerelement ausgel&ouml;sten Ereignisse &#8211; mehr dazu weiter unten.<\/p>\n<p><b>DSO-Framer-Methoden<\/b><\/p>\n<p>Die Funktionen, die durch die Eintr&auml;ge des <b>File<\/b>-Men&uuml;s des <b>DSOFramer<\/b>-Steuerelements aufgerufen werden, k&ouml;nnen Sie auch von entsprechenden VBA-Prozeduren aus aufrufen.<\/p>\n<p>Es gibt jedoch noch mehr Methoden, unter anderem die folgenden:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>Activate<\/b>: Aktiviert das aktuelle Dokument.<\/li>\n<li class=\"aufz-hlung\"><b>Close<\/b>: Schlie&szlig;t das aktuelle Dokument.<\/li>\n<li class=\"aufz-hlung\"><b>CreateNew<\/b>: Erstellt ein neues Dokument. Der einzige Parameter erwartet die <b>ProgID <\/b>oder den Namen eines Templates als Wert. Es funktioniert also sowohl <b>objDSOFramer.CreateNew &quot;Word.Document&quot; <\/b>als auch <b>objDSOFramer.CreateNew &quot;c:\\Templates\\Normal.dot&quot;<\/b>.<\/li>\n<li class=\"aufz-hlung\"><b>PrintOut<\/b>: Druckt das Dokument. Optionale Parameter: <b>PromptUser <\/b>(Drucken-Dialog anzeigen ja\/nein), <b>PrinterName <\/b>(Name des Druckers), <b>Copies <\/b>(Anzahl Exemplare), <b>FromPage <\/b>und <b>ToPage <\/b>(Start- und Endseite) und <b>OutputFile <\/b>(Zieldatei).<\/li>\n<li class=\"aufz-hlung\"><b>PrintPreview<\/b>: Anzeigen der Druckvorschau<\/li>\n<li class=\"aufz-hlung\"><b>PrintPreviewExit<\/b>: Druckvorschau schlie&szlig;en<\/li>\n<\/ul>\n<p><b>DSOFramer-Ereignisse<\/b><\/p>\n<p>Das <b>DSOFramer<\/b>-Steuerelement bietet einige Ereignisse, die etwa beim &Ouml;ffnen oder Schlie&szlig;en eines Dokuments ausgel&ouml;st werden.<\/p>\n<p>Diese lassen sich beispielsweise prima nutzen, um die vom Vorhandensein eines Dokuments abh&auml;ngigen Steuerelemente zu aktivieren oder zu deaktivieren. <\/p>\n<p>Durch die Deklaration der Objektvariablen <b>objDSOFramer <\/b>weiter oben mit dem Schl&uuml;sselwort <b>WithEvents<\/b> k&ouml;nnen Sie im Codefenster des VBA-Editors erst im linken Kombinationsfeld das Objekt <b>objDSOFramer <\/b>ausw&auml;hlen und dann im rechten Kombinationsfeld die verf&uuml;gbaren Ereignisprozeduren (s. Bild 10).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/DSOFramer-web-images\/pic004.png\" alt=\"pic004.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10: Ein mit dem DSOFramer-Steuerelement ausgestattetes Formular in der Entwurfsansicht<\/span><\/b><\/p>\n<p>Das Steuerelement liefert die folgenden Ereignisse:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>BeforeDocumentClosed<\/b>: Wird vor dem Schlie&szlig;en des Dokuments ausgel&ouml;st und erlaubt beispielsweise eine Abfrage, ob das Dokument noch gespeichert werden soll. Der Parameter <b>Document <\/b>liefert einen Verweis auf das Dokument, mit dem Parameter <b>Cancel <\/b>k&ouml;nnen Sie festlegen, ob der Schlie&szlig;en-Vorgang abgebrochen werden soll.<\/li>\n<li class=\"aufz-hlung\"><b>BeforeDocumentSaved<\/b>: Wird beim Speichern des Dokuments ausgel&ouml;st. Der Parameter <b>Document <\/b>liefert einen Objektverweis, <b>Location <\/b>den gew&auml;hlten Speicherort und <b>Cancel <\/b>erlaubt das Abbrechen der Aktion.<\/li>\n<li class=\"aufz-hlung\"><b>OnActivationChange<\/b>: Wird ausgel&ouml;st, wenn Access bei ge&ouml;ffnetem <b>DSOFramer<\/b>-Steuerelement den Fokus erh&auml;lt oder verliert. Der Parameter <b>fGoingActive <\/b>liefert einen Boolean-Wert, der angibt, ob das Steuerelement den Fokus gerade erhalten oder verloren hat.<\/li>\n<li class=\"aufz-hlung\"><b>OnDocumentClosed<\/b>: Wird ausgel&ouml;st, wenn das Dokument geschlossen wurde.<\/li>\n<li class=\"aufz-hlung\"><b>OnDocumentOpened<\/b>: Wird beim &Ouml;ffnen eines Dokuments ausgel&ouml;st, also auch beim Anlegen eines neuen Dokuments. Der erste Parameter <b>File <\/b>liefert beim &Ouml;ffnen den Namen des ge&ouml;ffneten Dokuments, beim Anlegen eines neuen Dokuments bleibt <b>File <\/b>leer. Der Parameter <b>Document <\/b>liefert einen Verweis auf das Dokument-Objekt.<\/li>\n<li class=\"aufz-hlung\"><b>OnFileCommand<\/b>: Wird ausgel&ouml;st, wenn der Benutzer das <b>File<\/b>-Men&uuml; des <b>DSOFramer<\/b>-Steuerelements verwendet und liefert mit dem Parameter <b>Item <\/b>eine Konstante, die dem ausgew&auml;hlten Befehl entspricht. Sie k&ouml;nnen hier eingreifen und eigene Befehle etwa zum Speichern implementieren und den eigentlich ausgel&ouml;sten Vorgang durch Setzen des Parameters <b>Cancel <\/b>auf <b>True <\/b>abbrechen.<\/li>\n<li class=\"aufz-hlung\"><b>OnPrintPreviewExit<\/b>: Wird ausgel&ouml;st, wenn die Druckvorschau verlassen wird. <\/li>\n<\/ul>\n<p><b>&auml;nderungen in Dokumenten speichern<\/b><\/p>\n<p>Wenn Sie ein Dokument im <b>DSOFramer<\/b> &ouml;ffnen und dieses sp&auml;ter schlie&szlig;en, geschieht dies ohne R&uuml;ckfrage. Sollten Sie also &auml;nderungen vorgenommen haben, verwirft das Steuerelement diese.<\/p>\n<p>Es gibt jedoch die Eigenschaft <b>IsDirty<\/b>, mit der Sie feststellen k&ouml;nnen, ob das Dokument seit dem &Ouml;ffnen ge&auml;ndert wurde. Diese Eigenschaft k&ouml;nnen Sie an verschiedenen Stellen abfragen und entsprechend darauf reagieren.<\/p>\n<p>Die richtige Ereignisprozedur f&uuml;r diesen Zweck hei&szlig;t <b>BeforeDocumentClose<\/b>. Wenn Sie diese wie in <span class=\"verweis-ohneumbruch\"><a href=\"#anker-15-anchor\">Listing 1<\/a><\/span> f&uuml;llen, geschieht Folgendes: Zun&auml;chst schreibt die Prozedur den Wert von <b>IsDirty <\/b>in die Eigenschaft <b>bolDirty<\/b>.<\/p>\n<p class=\"listingueberschrift\">Listing 1: R&uuml;ckfrage, ob ein ge&auml;ndertes Dokument vor dem Schlie&szlig;en gespeichert werden soll<\/p>\n<pre>Private Sub objDSOFramer_BeforeDocumentClosed(ByVal Document As Object, Cancel As Boolean)\r\n    Dim bolDirty As Boolean\r\n    bolDirty = objDSOFramer.IsDirty\r\n    Do While bolDirty = True\r\n        If MsgBox(&quot;&auml;nderungen verwerfen&quot;, vbYesNo) = vbNo Then\r\n            If Len(objDSOFramer.DocumentFullName) = 0 Then\r\n                objDSOFramer.ShowDialog dsoDialogSave\r\n            Else\r\n                objDSOFramer.Save objDSOFramer.DocumentFullName, True\r\n            End If\r\n            bolDirty = objDSOFramer.IsDirty\r\n        Else\r\n            bolDirty = False\r\n        End If\r\n    Loop\r\nEnd Sub<\/pre>\n<p>Hat diese den Wert <b>False<\/b>, wurde das Dokument nicht ge&auml;ndert und kann direkt geschlossen werden. Anderenfalls fragt die Prozedur, ob die &auml;nderungen verworfen werden sollen. Falls ja, wird das Dokument ebenfalls direkt geschlossen.<\/p>\n<p>Falls nicht, pr&uuml;ft die Prozedur noch, ob das Dokument bereits einen Namen hat und somit schon gespeichert wurde.<\/p>\n<p>In diesem Fall &uuml;berschreibt sie die gespeicherte Version mit der neuen Version, wobei sie die <b>Save<\/b>-Methode verwendet, sonst wird der <b>Datei speichern<\/b>-Dialog angezeigt.<\/p>\n<p><b>Dokumentverweis beim &Ouml;ffnen f&uuml;llen<\/b><\/p>\n<p>In der Regel werden Sie ein Office-Dokument im DSOFramer-Steuerelement &ouml;ffnen, weil Sie dieses automatisiert bearbeiten oder auslesen m&ouml;chten. In beiden F&auml;llen empfiehlt es sich, gleich beim &Ouml;ffnen des Dokuments eine entsprechende Objektvariable zu f&uuml;llen.<\/p>\n<p>Wir gehen an dieser Stelle davon aus, dass Sie innerhalb eines Formulars immer den gleichen Dokumenttyp &ouml;ffnen werden, also beispielsweise immer Excel-Dokumente, um von dort Daten auszulesen oder zu schreiben, oder Word-Dokumente, um diese als Seriendruck-Dokumente vorzubereiten et cetera.<\/p>\n<p>Der Code aus <span class=\"verweis-ohneumbruch\"><a href=\"#anker-16-anchor\">Listing 2<\/a><\/span>, der beim &Ouml;ffnen oder Anlegen eines Dokuments ausgel&ouml;st wird, zeigt zun&auml;chst den Umgang mit den beiden als Parameter &uuml;bergebenen Informationen: den Objektverweis auf das ge&ouml;ffnete Dokument sowie Pfad und Namen.<\/p>\n<p class=\"listingueberschrift\">Listing 2: Auswerten der Dokumentinformationen beim &Ouml;ffnen des Dokuments<\/p>\n<pre>Private Sub objDSOFramer_OnDocumentOpened(ByVal File As String, ByVal Document As Object)\r\n    Dim strType As String\r\n    strType = TypeName(Document)\r\n    If Len(File) = 0 Then\r\n        MsgBox &quot;Sie haben ein Dokument des Typs ''&quot; &amp; strType &amp; &quot;'' angelegt.&quot;\r\n    Else\r\n        MsgBox &quot;Sie haben das Dokument ''&quot; &amp; File &amp; &quot;'' des Typs ''&quot; &amp; strType &amp; &quot;'' ge&ouml;ffnet.&quot;\r\n    End If\r\nEnd Sub<\/pre>\n<p>Im konkreten Fall m&ouml;chten Sie m&ouml;glicherweise ein Word-Dokument bearbeiten. Dann werden Sie eine Objektvariable wie folgt deklarieren (Excel- und weitere Dokumente behandeln Sie analog):<\/p>\n<pre>Dim objDocument As Word.Document<\/pre>\n<p>Gegebenenfalls m&ouml;chten Sie auch noch auf die Ereignisse des Dokuments reagieren &#8211; dann f&uuml;gen Sie noch das Schl&uuml;sselwort <b>WithEvents<\/b> hinzu:<\/p>\n<pre>Dim WithEvents objDocument As Word.Document<\/pre>\n<p>Die Ereignisprozedur <b>OnDocumentOpened <\/b>sieht dann etwa so aus:<\/p>\n<pre>Private Sub objDSOFramer_OnDocumentOpened(ByVal File As String, ByVal Document As Object)\r\n    Select Case Document.Parent.Name\r\n        Case &quot;Microsoft Word&quot;\r\n            Set objDocument = Document\r\n        Case Else\r\n            MsgBox &quot;Dokumente der Anwendung ''&quot; &amp; Document.Parent.Name &amp; &quot;'' k&ouml;nnen nicht referenziert werden.&quot;\r\n    End Select\r\n    SchaltflaechenAktivieren\r\nEnd Sub<\/pre>\n<p>Die Prozedur gibt eine Meldung aus, wenn kein Word-Dokument geladen wurde, und aktiviert au&szlig;erdem die notwendigen Schaltfl&auml;chen.<\/p>\n<p>Die Aktivierung der Schaltfl&auml;chen sollten Sie au&szlig;erdem in der Ereignisprozedur <b>OnDocumentClosed <\/b>ausl&ouml;sen:<\/p>\n<pre>Private Sub objDSOFramer_OnDocumentClosed()\r\n    SchaltflaechenAktivieren\r\nEnd Sub<\/pre>\n<p><b>Zugriff auf das Dokument<\/b><\/p>\n<p>Der Zugriff auf die Inhalte des im <b>DSOFramer<\/b>-Steuerelement enthaltenen Dokuments erfolgt &uuml;ber die Objektvariable <b>objDocument<\/b>, die Sie in der Ereignisprozedur <b>OnDocumentOpened <\/b>gef&uuml;llt haben.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Mit dem <b>DSOFramer<\/b>-Steuerelement zeigen Sie Office-Dokumente elegant innerhalb eines Access-Formulars an. Sie k&ouml;nnen dort die gleichen Operationen durchf&uuml;hren, die Sie auch per herk&ouml;mmlicher Automation erledigt haben &#8211; Sie erhalten ja beim Erstellen oder &Ouml;ffnen des Dokuments einen entsprechenden Verweis auf das Dokument, mit dem Sie auf seinen Inhalt zugreifen k&ouml;nnen.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>DocsInForms.mdb<\/p>\n<p>dsoframer_moss.ocx<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{9B77EB4E-3216-4C19-8CB6-BB4706AEA473}\/aiu_772.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es kommt immer wieder vor, dass eine Anwendung entweder auf die Daten in Word- oder Excel-Dokumenten zugreift &#8211; entweder um ihre Inhalte zu lesen oder diese zu &auml;ndern. Normalerweise &ouml;ffnen Sie das entsprechende Dokument dann entweder sichtbar oder unsichtbar und f&uuml;hren die gew&uuml;nschten Aktionen durch. Wie w&auml;re es, wenn Sie Word, Excel und Co. statt im eigenen Fenster direkt innerhalb eines Access-Formulars anzeigen k&ouml;nnten Dieser Beitrag stellt die dazu notwendigen Voraussetzungen und Techniken vor.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022011,662011,44000026],"tags":[],"class_list":["post-55000772","post","type-post","status-publish","format-standard","hentry","category-66022011","category-662011","category-Interaktiv"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Office-Dokumente in Formularen anzeigen - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Office-Dokumente in Formularen anzeigen\" \/>\n<meta property=\"og:description\" content=\"Es kommt immer wieder vor, dass eine Anwendung entweder auf die Daten in Word- oder Excel-Dokumenten zugreift - entweder um ihre Inhalte zu lesen oder diese zu &auml;ndern. Normalerweise &ouml;ffnen Sie das entsprechende Dokument dann entweder sichtbar oder unsichtbar und f&uuml;hren die gew&uuml;nschten Aktionen durch. Wie w&auml;re es, wenn Sie Word, Excel und Co. statt im eigenen Fenster direkt innerhalb eines Access-Formulars anzeigen k&ouml;nnten Dieser Beitrag stellt die dazu notwendigen Voraussetzungen und Techniken vor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:02:32+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg09.met.vgwort.de\/na\/fdc7fb66d0e6485689aa4100b96d4566\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Office-Dokumente in Formularen anzeigen\",\"datePublished\":\"2020-05-22T22:02:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/\"},\"wordCount\":2604,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/fdc7fb66d0e6485689aa4100b96d4566\",\"articleSection\":[\"2\\\/2011\",\"2011\",\"Interaktiv\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/\",\"name\":\"Office-Dokumente in Formularen anzeigen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/fdc7fb66d0e6485689aa4100b96d4566\",\"datePublished\":\"2020-05-22T22:02:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/fdc7fb66d0e6485689aa4100b96d4566\",\"contentUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/fdc7fb66d0e6485689aa4100b96d4566\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OfficeDokumente_in_Formularen_anzeigen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Office-Dokumente in Formularen anzeigen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Office-Dokumente in Formularen anzeigen - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/","og_locale":"de_DE","og_type":"article","og_title":"Office-Dokumente in Formularen anzeigen","og_description":"Es kommt immer wieder vor, dass eine Anwendung entweder auf die Daten in Word- oder Excel-Dokumenten zugreift - entweder um ihre Inhalte zu lesen oder diese zu &auml;ndern. Normalerweise &ouml;ffnen Sie das entsprechende Dokument dann entweder sichtbar oder unsichtbar und f&uuml;hren die gew&uuml;nschten Aktionen durch. Wie w&auml;re es, wenn Sie Word, Excel und Co. statt im eigenen Fenster direkt innerhalb eines Access-Formulars anzeigen k&ouml;nnten Dieser Beitrag stellt die dazu notwendigen Voraussetzungen und Techniken vor.","og_url":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:02:32+00:00","og_image":[{"url":"http:\/\/vg09.met.vgwort.de\/na\/fdc7fb66d0e6485689aa4100b96d4566","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Office-Dokumente in Formularen anzeigen","datePublished":"2020-05-22T22:02:32+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/"},"wordCount":2604,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/fdc7fb66d0e6485689aa4100b96d4566","articleSection":["2\/2011","2011","Interaktiv"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/","url":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/","name":"Office-Dokumente in Formularen anzeigen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/fdc7fb66d0e6485689aa4100b96d4566","datePublished":"2020-05-22T22:02:32+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#primaryimage","url":"http:\/\/vg09.met.vgwort.de\/na\/fdc7fb66d0e6485689aa4100b96d4566","contentUrl":"http:\/\/vg09.met.vgwort.de\/na\/fdc7fb66d0e6485689aa4100b96d4566"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/OfficeDokumente_in_Formularen_anzeigen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Office-Dokumente in Formularen anzeigen"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000772"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000772\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}