vb6 mail merge code führt keine select-Anweisung im Quelldokument aus
477
user961419
Ich verwende eine VB-Anwendung, die die Daten aus der Datenbank abruft und einen Seriendruck in einem der Vorlagendokumente ausführt und die Ausdrucke an den Drucker sendet. Nach dem Upgrade auf Word 2010 ist die VB6-Anwendung wie folgt. Dieser Code funktioniert für Word 2010, aber während ich das Vorlagendokument öffne, heißt es, dass das Ausführen select * from c:\temp where rectype = 0
dieses Befehls ausgeführt wird. Diese Funktionalität funktioniert nicht in Word 2010, sondern es wird alles Rectype gedruckt. Kann jemand raten, welcher Teil geändert werden muss, um dies zu sortieren?
Kann ich die select-Anweisung ändern? Wie? Ist word.basic für word 2010 geeignet? Muss ich den gesamten Code gemäß word 2010 konvertieren? Bitte beraten.
Private Sub printWorddocument(ByRef rstjobdata As rdoresultset) Dim oword As Object Dim sdatasource As String Set oword = CreateObject("Word.basic") oword.appshow oword.appMinimize oword.fileopen Name:=rstjobdata("path").Value sdatasource = oword.mailmergedatasource$(5) oword.Mailmergeopendatasource Name:=mstemp_path, _ Confirmconversions:=0, _ ReadOnly:=1, _ AddtoMru:=0, _ sqlstatement:=sdatasource oword.MailMerge checkerrors:=1, destination:=0, _ mergerecords:=1, Suppression:=0, _ mailsubject:="", MailMerge:=1, _ mailAttachment:=0, mailaddress:="" 'Replace pipe character ("|") with CRLF oword.editreplace Find:="|", Replace:="^p", _ Direction:=0, MatchCase:=0, _ Wholeword:=0, PatternMatch:=0, _ SoundsLike:=0, ReplaceAll:=1, _ Format:=0, Wrap:=1, _ FinaAllWordForms:=0 oword.ScreenUpdating 1 oword.FileprintSetup Printer:=sGetWordQueuename(CStr(rstjobdata("Queuename"))) oword.FilepageSetup Firstpage:=CInt(rstjobdata("FirstPage")), Otherpages:=CInt(rstjobdata("OtherPages")) oword.Fileprint background:=0, NumCopies:=CInt(rstjobdata("Copies")) oword.FileCloseAll 2 oword.Filequit Set oword = Nothing Exit Sub
Haben Sie versucht, den Pfad wie "select * from 'c: \ temp" mit rectype = 0 zu zitieren "?
duDE vor 6 Jahren
0
Vielen Dank für Ihre Antwort. sollte ich das in sqlstatement erwähnen? Wenn ich dies in einer Word-Vorlage tun muss, die für Mailmerge verwendet wird, wo sollte ich das erwähnen?
user961419 vor 6 Jahren
0
Ich würde versuchen, den Pfad in der SQL-Anweisung zu zitieren, ist das möglich? Kannst du es versuchen?
duDE vor 6 Jahren
0
Ich habe sqlstatement ausprobiert: = "Wählen Sie * aus 'C: \ temp.doc' aus, wobei RecType = 0", dies führt mich zur Fehlerbehandlung.
user961419 vor 6 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
1
So führen Sie einen Seriendruck mit Anhängen durch
-
2
Wie kann ich in Word 2007 einen sich wiederholenden Abschnitt für den Seriendruck einrichten?
-
1
Ist es möglich, kaskadierende Vorlagenupdates in Word 2007 durchzuführen?
-
2
So verschicken Sie 2 Excel-Tabellen in derselben Arbeitsmappe per E-Mail zu Wort
-
1
Kann Word 2007 auf eine MySQL-Datenbank zugreifen?
-
2
E-Mail-Seriendruck in Word 2007 mit Anhang
-
1
MS Word Mailmerge mit Thunderbird
-
1
Textabsätze in OpenOfficeOrg Writer Mailmerge wechseln
-
2
Speicherorte der Word-Seriendruckdatenquelle in großen Mengen ändern?
-
4
Word 2010 Beta - Vertikale Zentrierung des Inhalts auf einer einzelnen Seite