{"id":55000767,"date":"2011-04-01T00:00:00","date_gmt":"2020-05-22T22:02:05","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=767"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Seriendruck_mit_Access_und_Word_Teil_II","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/","title":{"rendered":"Seriendruck mit Access und Word, Teil II"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg09.met.vgwort.de\/na\/2545458817ce46fd98b2229867a76173\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Unser Beitrag zum Thema Ferngesteuerter Seriendruck mit Access und Word hat soviel Feedback geliefert, dass wir Ihnen einige Verbesserungen und Erweiterungen liefern m&ouml;chten. Der vorliegende Beitrag zeigt, welche Schwachstellen das Add-In noch enthielt und wie Sie diese beheben.<\/b><\/p>\n<p><b>Fehler 5922 &#8211; Word konnte die Datenquelle nicht &ouml;ffnen<\/b><\/p>\n<p>Dieser Fehler trat speziell unter Access 2010 auf, und zwar in der folgende Zeile der Prozedur <b>cmdSerienbriefErstellen_Click<\/b>:<\/p>\n<pre>objMerge.OpenDataSource Name:=dbc.Name, \r\nLinkToSource:=True, \r\nConnection:=strConnection, \r\nSQLStatement:=&quot;SELECT * FROM [tblSerienbrief_Temp] \r\nWHERE [Serienbrief] = True&quot;, \r\nSubType:=1<\/pre>\n<p>Die L&ouml;sung war nicht einfach zu finden. Ein Tipp von Sascha Trowitzsch f&uuml;hrte schlie&szlig;lich dazu, einmal den Makro-Editor unter Word zu starten und manuell einen Seriendruck auf Basis der betroffenen Tabelle der Add-In-Datenbank zu erstellen.<\/p>\n<p>Fazit: Word kommt anscheinend nicht mit dem Datentyp .mda klar! Wenn Sie dort eine bestehende Datenquelle ausw&auml;hlen, m&uuml;ssen Sie <b>Alle Dateien (*.*) <\/b>als Filter festlegen, um &uuml;berhaupt auf die .mda-Datei zugreifen zu k&ouml;nnen. Im n&auml;chsten Schritt zeigt sich dann, dass Word sich unter diesem Dateityp nichts vorstellen kann und beim Analysieren des Inhalts scheitert (s. Bild 1).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/Serienbriefe_II-web-images\/pic001.png\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Versuch, Daten aus einer .mda-Datei als Quelle f&uuml;r einen Seriendruck zu verwenden<\/span><\/b><\/p>\n<p>Ein kleiner Versuch brachte schlie&szlig;lich die L&ouml;sung dieses Problems: Der Dateiname wurde von <b>.mda <\/b>zur&uuml;ck in <b>.mdb <\/b>ge&auml;ndert und siehe da &#8211; Word liest die Daten problemlos ein. Die oben genannte und f&uuml;r den Fehler verantwortliche Zeile mit dem Aufruf der <b>OpenDataSource<\/b>-Methode funktioniert nun einwandfrei.<\/p>\n<p>Allerdings l&auml;sst sich die <b>.mdb<\/b>-Datei nun nicht mehr direkt als Add-In installieren, da hier standardm&auml;&szlig;ig nur <b>.mda<\/b>&#8211; beziehungsweise <b>.accdb<\/b>-Dateien ausgew&auml;hlt werden k&ouml;nnen. Das ist aber kein Problem, denn auch hier l&auml;sst sich der Filter auf alle Dateien einstellen.<\/p>\n<p>Und zu guter Letzt m&uuml;ssen Sie noch die Tabelle <b>USysRegInfo <\/b>anpassen. Die Angabe der Library m&uuml;ssen Sie von <b>aiuSeriendruck.mda <\/b>auf <b>aiuSeriendruck.mdb <\/b>&auml;ndern, damit Access die umbenannte Datei weiterhin findet (s. Bild 2).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/Serienbriefe_II-web-images\/pic002.png\" alt=\"pic002.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Anpassung der Tabelle USysRegInfo, damit Access das Add-In ordnungsgem&auml;&szlig; starten kann<\/span><\/b><\/p>\n<p><b>Kontextmen&uuml;eintr&auml;ge bei mehreren Seriendrucken<\/b><\/p>\n<p>Gelegentlich m&ouml;chte man nicht nur ein, sondern mehrere verschiedene Dokumente im Seriendruck verarbeiten. Zum Hinzuf&uuml;gen der Platzhalter in Word hat <b>aiuSeriendruck <\/b>ja das Kontextmen&uuml; des Dokuments so angepasst, dass Sie alle Felder der Quelltabelle &uuml;ber die Auswahl eines Eintrags wie etwa <b>[Vorname] <\/b>einf&uuml;gen k&ouml;nnen.<\/p>\n<p>Leider beh&auml;lt das Kontextmen&uuml; diese Eintr&auml;ge bei, sodass das Kontextmen&uuml; mit jedem neuen Dokument l&auml;nger wird. Die L&ouml;sung dieses Problems war ebenfalls nicht einfach zu finden. Eigentlich konnte man davon ausgehen, dass es reicht, beim Erstellen der Kontextmen&uuml;eintr&auml;ge mit der <b>Add<\/b>-Methode den <b>Temporary<\/b>-Parameter auf <b>True <\/b>einzustellen. Dies w&uuml;rde bedeuten, dass die angelegten Eintr&auml;ge beim Schlie&szlig;en von Word wieder gel&ouml;scht w&uuml;rden:<\/p>\n<pre>Set cbc = m_Commandbar.Controls.Add(1, , , , True)<\/pre>\n<p>Aber dies reichte aus unerfindlichen Gr&uuml;nden nicht. Also griff ich zu weiteren Ma&szlig;nahmen: Alle neu angelegten Kontextmen&uuml;eintr&auml;ge wurden mit einem Wert f&uuml;r die <b>Tag<\/b>-Eigenschaft versehen, der das Tilde-Zeichen und die Beschriftung des Kontextmen&uuml;eintrags enthielt, also beispielsweise <b>~[Vorname]<\/b>. Dies alles mit dem Zweck, eventuell verbleibende Eintr&auml;ge vor dem erneuten Anlegen des Kontextmen&uuml;s mit der <b>Delete<\/b>-Methode in einer Schleife &uuml;ber alle Eintr&auml;ge er jeweiligen Kontextmen&uuml;eintr&auml;ge wieder zu l&ouml;schen. Auch das brachte nicht die geringste &auml;nderung!<\/p>\n<p>Die L&ouml;sung fand sich schlie&szlig;lich in Word selbst: Wenn Sie bei ge&ouml;ffnetem Word-Dokument Elemente zur <b>CommandBars<\/b>-Auflistung hinzuf&uuml;gen und das Dokument dann speichern, werden diese Elemente mit dem Dokument gespeichert.<\/p>\n<p>Das Speichern des Dokuments tritt in <b>aiuSeriendruck <\/b>auf, wenn der Benutzer den letzten Kontextmen&uuml;eintrag mit der Beschriftung <b>Alle Platzhalter gesetzt <\/b>anklickt. Dies l&ouml;st eine entsprechende Ereignisprozedur aus, die um zwei Anweisungen erg&auml;nzt werden muss &#8211; und zwar um den Aufruf der Methode <b>Reset <\/b>f&uuml;r die beiden um tempor&auml;re Eintr&auml;ge erweiterten Kontextmen&uuml;s. Reset setzt die Kontextmen&uuml;s wieder so zur&uuml;ck, dass diese nur noch eingebaute Elemente enthalten (s. <a href=\"#anker-3-anchor\">Listing 1<\/a>).<\/p>\n<p class=\"listingueberschrift\">Listing 1: Speichern des um Platzhalter erg&auml;nzten Dokuments und vorheriges Zur&uuml;cksetzen der Kontextmen&uuml;s<\/p>\n<pre>Private Sub m_cbc_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)\r\n    Select Case Ctrl.Caption\r\n    Case &quot;Alle Platzhalter gesetzt&quot;\r\n    On Error Resume Next\r\n    m_Document.CommandBars(&quot;Text&quot;).Reset\r\n    m_Document.CommandBars(&quot;Table Text&quot;).Reset\r\n    m_Document.Save\r\n    If Err.Number = 0 Then\r\n        strVorlage = m_Document.Path &amp; &quot;\\&quot; &amp; m_Document.Name\r\n        RaiseEvent VorlageErstellt(strVorlage)\r\n    Else\r\n        RaiseEvent VorlageErstellt(&quot;&quot;)\r\n    End If\r\n    Case Else\r\n    m_Document.Application.Selection.Text = m_Text\r\n    End Select\r\n    End Sub<\/pre>\n<p><!--30percent--><\/p>\n<p><b>Seriendruck ersetzt Platzhalter nicht bei Wechsel von Datenquelle\/Dokument<\/b><\/p>\n<p>Wenn Sie mit der ersten Version von <b>aiuSeriendruck <\/b>eine Datenquelle ausw&auml;hlen, ein Seriendruckdokument vorbereiten und beide zusammenf&uuml;hren, klappt dies ohne Probleme. Wenn Sie dann allerdings eine andere Datenquelle ausw&auml;hlen und ein neues Dokument mit den entsprechenden Platzhaltern f&uuml;llen, geht etwas schief: Word ersetzt dann die Platzhalter nicht mehr, wodurch dann zwar die der Anzahl der Datens&auml;tze entsprechende Anzahl Seiten erzeugt wird, aber nicht die gew&uuml;nschten Daten angezeigt werden (s. Bild 3).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2011_02\/Serienbriefe_II-web-images\/pic003.png\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Beim Neuauswahl von Quelle und Seriendruck-Dokument gelingt das Ersetzen der Platzhalter nicht mehr.<\/span><\/b><\/p>\n<p>Genaugenommen werden nicht die Platzhalter durch die Inhalte ersetzt, sondern das Ersetzen der Platzhalter durch die Seriendruck-Felder scheitert.<\/p>\n<p>Das Problem tritt in diesem Abschnitt auf:<\/p>\n<pre>Set tdf = dbc.TableDefs(&quot;tblSerienbrief_Temp&quot;)\r\nFor Each fld In tdf.Fields\r\n    Set objRange = objDocument.Range\r\n    Set objRangeFound = objDocument.Range(0, 0)\r\n    strPlatzhalter = &quot;[&quot; &amp; fld.Name &amp; &quot;]&quot;\r\n    With objRange.Find\r\n    .Text = strPlatzhalter\r\n    .Execute\r\n    Do While .Found = True\r\n        objRangeFound.SetRange _\r\n        objRange.Start, objRange.End\r\n        objRange.SetRange objRange.End, _\r\n        objDocument.Range.End\r\n        Set objMailMergeField = _\r\n        objMerge.Fields.Add(objRangeFound, _\r\n        fld.Name)\r\n        .Text = strPlatzhalter\r\n        .Execute\r\n    Loop\r\n    End With\r\nNext fld<\/pre>\n<p>Das Debuggen f&ouml;rdert schnell das Problem zutage: Da wir &uuml;ber die Funktion <b>dbc <\/b>auf das <b>Database<\/b>-Objekt der Add-In-Datenbank zugreifen, wird dieses erst erneut mit der Funktion <b>CodeDB <\/b>gef&uuml;llt, wenn die lokale Variable <b>m_dbc <\/b>geleert wurde (was nur bei unbehandelten Fehlern geschehen sollte):<\/p>\n<pre>Dim m_dbc As DAO.Database\r\nPublic Function dbc() As Database\r\n    If m_dbc Is Nothing Then\r\n        Set m_dbc = CodeDb\r\n    End If\r\n    Set dbc = m_dbc\r\nEnd Function<\/pre>\n<p>Dummerweise wird dbc dann auch nie mit einer neuen Version der enthaltenen Objekte wie etwa der <b>TableDefs <\/b>gef&uuml;llt. Da wir aber die Abfrage, welche die Quelldaten f&uuml;r den Seriendruck enth&auml;lt, jeweils in die Tabelle <b>tblSeriendruck_Temp <\/b>schreiben, &auml;ndert sich nat&uuml;rlich auch deren Aufbau und somit das entsprechende <b>TableDef<\/b>-Objekt. Leider bekommt das Add-In &uuml;ber <b>dbc.TableDefs(&quot;tblSeriendruck_Temp&quot;) <\/b>da leider nichts von mit, da sich der Inhalt nicht aktualisiert.<\/p>\n<p>Da wir die Bequemlichkeit der beiden Funktionen <b>dbc<\/b> und <b>dbs <\/b>f&uuml;r den Zugriff auf die Tabellen der aktuellen Datenbank und der Add-In-Datenbank behalten wollen, &auml;ndern wir ein paar Zeilen entsprechend ab:<\/p>\n<pre>Dim rst As DAO.Recordset\r\n...\r\nSet rst = dbc.OpenRecordset(&quot;SELECT * FROM tblSerienbrief_Temp WHERE 1 = 2&quot;)\r\nFor Each fld In rst.Fields\r\n    ...<\/pre>\n<p>Das hei&szlig;t, wir verwenden nicht mehr das TableDef-Objekt, um die Feldnamen zu durchlaufen und dar&uuml;ber die Platzhalter durch die Seriendruckfelder zu ersetzen, sondern das Recordset-Objekt. Dieses wird n&auml;mlich immer aktuell ermittelt, weil sich ja schlie&szlig;lich auch die enthaltenen Daten mal &auml;ndern k&ouml;nnen. Und damit wechseln Sie nun auch beliebig oft die Datenquelle und das Zieldokument.<\/p>\n<p><b>Probleme mit Datumsfeldern<\/b><\/p>\n<p>Das letzte bisher aufgetretene Problem gilt eher allgemein f&uuml;r das Anfertigen von Seriendruck-Dokumenten: Die Datenquelle enth&auml;lt ein Datumsfeld, deren Inhalt gegebenenfalls auch korrekt formatiert ist, aber in Word erscheinen die Datumsangaben in einem anderen Format.<\/p>\n<p>Der Wert <b>15.12.2010 <\/b>wird dann beispielsweise als <b>12\/15\/2010 <\/b>ausgegeben. Das Problem hier ist, dass Word Datumsfelder automatisch als solche erkennt und in einem entsprechenden Format ausgibt. Die sicherste Variante, Word dazu zu bringen, das Datum im gew&uuml;nschten Format auszugeben, liegt in der Verwendung eines Textfelds.<\/p>\n<p><b>aiuSeriendruck<\/b> schreibt die Daten f&uuml;r den Seriendruck ohnehin in eine tempor&auml;re Tabelle, also k&ouml;nnen wir dort auch gleich Textfelder statt Datumsfeldern verwenden.<\/p>\n<p>Zust&auml;ndig f&uuml;r das Erstellen und F&uuml;llen der tempor&auml;ren Tabelle ist die Prozedur <b>TempTabelleErstellen<\/b>, die den Namen der Quelltabelle oder -abfrage als Parameter erwartet.<\/p>\n<p>Die &uuml;berarbeitete Prozedur aus <a href=\"#anker-6-anchor\">Listing 2<\/a> l&ouml;scht wie gehabt zun&auml;chst eine eventuell bereits vorhandene Tabelle namens <b>tblSerienbrief_Temp<\/b>.<\/p>\n<p class=\"listingueberschrift\">Listing 2: Speichern des um Platzhalter erg&auml;nzten Dokuments und vorheriges Zur&uuml;cksetzen der Kontextmen&uuml;s<\/p>\n<pre>Public Sub TempTabelleErstellen(strSource As String)\r\nDim tdf As DAO.TableDef\r\nDim fld As DAO.Field\r\nDim fldSource As DAO.Field\r\nDim prp As DAO.Property\r\nOn Error Resume Next\r\ndbc.Execute &quot;DROP TABLE tblSerienbrief_Temp&quot;, dbFailOnError\r\nOn Error GoTo 0\r\nSet tdf = dbc.CreateTableDef(&quot;tblSerienbrief_Temp&quot;)\r\nFor Each fldSource In dbs.OpenRecordset(&quot;SELECT * FROM &quot; &amp; strSource &amp; &quot; WHERE 1 = 2&quot;).Fields\r\n Set fld = tdf.CreateField(fldSource.Name, dbText)\r\n    If fldSource.Type = dbText Then\r\n        fld.AllowZeroLength = True\r\n    End If\r\n    tdf.Fields.Append fld\r\nNext fldSource\r\nSet fld = tdf.CreateField(&quot;Serienbrief&quot;, dbBoolean)\r\ntdf.Fields.Append fld\r\ndbc.TableDefs.Append tdf\r\nSet fld = tdf.Fields(&quot;Serienbrief&quot;)\r\nSet prp = fld.CreateProperty(&quot;DisplayControl&quot;, DB_INTEGER, 106, True)\r\nOn Error Resume Next\r\nfld.Properties.Delete &quot;DisplayControl&quot;\r\nOn Error GoTo 0\r\nfld.Properties.Append prp\r\ndbc.Execute &quot;INSERT INTO tblSerienbrief_Temp SELECT * FROM &quot; &amp; strSource &amp; &quot; IN ''&quot; &amp; dbs.Name &amp; &quot;''&quot;, dbFailOnError\r\ndbc.Execute &quot;UPDATE tblSerienbrief_Temp SET Serienbrief = TRUE&quot;, dbFailOnError\r\nEnd Sub<\/pre>\n<p>Danach erstellt sie diese Tabelle neu und durchl&auml;uft in einer <b>For Each<\/b>-Schleife alle Felder der Quelltabelle beziehungsweise -abfrage. Innerhalb dieser Schleife legt sie f&uuml;r jedes Feld ein neues Feld an, und zwar immer mit dem Datentyp <b>Text<\/b>.<\/p>\n<p>Danach folgen zun&auml;chst die bereits bekannten Anweisungen, mit denen die Prozedur noch das Boolean-Feld zum Ausw&auml;hlen der Datens&auml;tze f&uuml;r den Seriendruck anlegt.<\/p>\n<p>Schlie&szlig;lich sorgt eine neue <b>INSERT INTO<\/b>-Anweisung daf&uuml;r, dass alle Datens&auml;tze der Datenquelle in die Tabelle <b>tblSeriendruck_Temp <\/b>gelangen.<\/p>\n<p>Das Speichern aller Werte in Textfeldern zieht folgende Konsequenz nach sich: Sie m&uuml;ssen in der zugrunde liegenden Tabelle oder Abfrage die gew&uuml;nschte Formatierung explizit &uuml;ber die <b>Format<\/b>-Eigenschaft einstellen. Als Ergebnis erhalten Sie daf&uuml;r aber einen Seriendruck, der alle Daten wirklich wie gew&uuml;nscht anzeigt.<\/p>\n<p><b>aiuSeriendruck installieren<\/b><\/p>\n<p>Nach den &auml;nderungen m&uuml;ssen Sie aiuSeriendruck neu installieren. Gerade wegen der Dateinamen&auml;nderung sind dazu ein paar mehr Schritte n&ouml;tig als das schlichte Ersetzen der Add-In-Datenbank.<\/p>\n<p>Sollten Sie <b>aiuSeriendruck.mda <\/b>bereits einsetzen, gehen Sie am besten wie folgt vor:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Deinstallieren Sie das Add-In &uuml;ber den Add-In-Manager.<\/li>\n<li class=\"aufz-hlung\">L&ouml;schen Sie die Datei <b>aiuSeriendruck.mda <\/b>aus dem Add-In-Verzeichnis (unter Windows 7 etwa unter <b>C:\\Users\\&lt;Benutzername&gt;\\AppData\\Roaming\\Microsoft\\AddIns<\/b>).<\/li>\n<li class=\"aufz-hlung\">Installieren Sie die Datei <b>aiuSeriendruck.mdb <\/b>mit dem Add-In-Manager als Add-In.<\/li>\n<\/ul>\n<p>Wenn Sie <b>aiuSerienbrief.mda <\/b>bereits installiert haben, finden Sie das Add-In-Verzeichnis wie folgt:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Starten Sie das Add-In.<\/li>\n<li class=\"aufz-hlung\">Wechseln Sie mit <b>Strg + G <\/b>in den VBA-Editor.<\/li>\n<li class=\"aufz-hlung\">Bet&auml;tigen Sie den Men&uuml;eintrag <b>Ausf&uuml;hren|Zur&uuml;cksetzen<\/b>.<\/li>\n<li class=\"aufz-hlung\">&Ouml;ffnen Sie im Projekt-Explorer eines der Module des Projekts <b>Serienbrief (AIUSeriendruck)<\/b>.<\/li>\n<li class=\"aufz-hlung\">Setzen Sie im Direktfenster den Befehl <b>Debug.Print CodeDB.Name <\/b>ab. Es erscheinen nun der Pfad und der Name der Add-In-Datenbank.<\/li>\n<\/ul>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>aiuSeriendruck.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{83E43D52-72F6-456D-868A-0495EECFAE48}\/aiu_767.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unser Beitrag zum Thema Ferngesteuerter Seriendruck mit Access und Word hat soviel Feedback geliefert, dass wir Ihnen einige Verbesserungen und Erweiterungen liefern m&ouml;chten. Der vorliegende Beitrag zeigt, welche Schwachstellen das Add-In noch enthielt und wie Sie diese beheben.<\/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,44000031],"tags":[],"class_list":["post-55000767","post","type-post","status-publish","format-standard","hentry","category-66022011","category-662011","category-Word"],"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>Seriendruck mit Access und Word, Teil II - 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\/Seriendruck_mit_Access_und_Word_Teil_II\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Seriendruck mit Access und Word, Teil II\" \/>\n<meta property=\"og:description\" content=\"Unser Beitrag zum Thema Ferngesteuerter Seriendruck mit Access und Word hat soviel Feedback geliefert, dass wir Ihnen einige Verbesserungen und Erweiterungen liefern m&ouml;chten. Der vorliegende Beitrag zeigt, welche Schwachstellen das Add-In noch enthielt und wie Sie diese beheben.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:02:05+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg09.met.vgwort.de\/na\/2545458817ce46fd98b2229867a76173\" \/>\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=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Seriendruck mit Access und Word, Teil II\",\"datePublished\":\"2020-05-22T22:02:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/\"},\"wordCount\":1596,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/2545458817ce46fd98b2229867a76173\",\"articleSection\":[\"2\\\/2011\",\"2011\",\"Word\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/\",\"name\":\"Seriendruck mit Access und Word, Teil II - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/2545458817ce46fd98b2229867a76173\",\"datePublished\":\"2020-05-22T22:02:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/2545458817ce46fd98b2229867a76173\",\"contentUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/2545458817ce46fd98b2229867a76173\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Seriendruck_mit_Access_und_Word_Teil_II\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Seriendruck mit Access und Word, Teil II\"}]},{\"@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":"Seriendruck mit Access und Word, Teil II - 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\/Seriendruck_mit_Access_und_Word_Teil_II\/","og_locale":"de_DE","og_type":"article","og_title":"Seriendruck mit Access und Word, Teil II","og_description":"Unser Beitrag zum Thema Ferngesteuerter Seriendruck mit Access und Word hat soviel Feedback geliefert, dass wir Ihnen einige Verbesserungen und Erweiterungen liefern m&ouml;chten. Der vorliegende Beitrag zeigt, welche Schwachstellen das Add-In noch enthielt und wie Sie diese beheben.","og_url":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:02:05+00:00","og_image":[{"url":"http:\/\/vg09.met.vgwort.de\/na\/2545458817ce46fd98b2229867a76173","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Seriendruck mit Access und Word, Teil II","datePublished":"2020-05-22T22:02:05+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/"},"wordCount":1596,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/2545458817ce46fd98b2229867a76173","articleSection":["2\/2011","2011","Word"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/","url":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/","name":"Seriendruck mit Access und Word, Teil II - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/2545458817ce46fd98b2229867a76173","datePublished":"2020-05-22T22:02:05+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#primaryimage","url":"http:\/\/vg09.met.vgwort.de\/na\/2545458817ce46fd98b2229867a76173","contentUrl":"http:\/\/vg09.met.vgwort.de\/na\/2545458817ce46fd98b2229867a76173"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Seriendruck_mit_Access_und_Word_Teil_II\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Seriendruck mit Access und Word, Teil II"}]},{"@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\/55000767","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=55000767"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000767\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}