Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Gandhi am 21.12.05 - 14:57:43

Titel: 2 Probleme mit Word-Anbindung
Beitrag von: Gandhi am 21.12.05 - 14:57:43
Hallo,
ich habe 2 Probleme mit der Word Anbindung:
1.
Code
Set WordDoc = WordApp.Documents.Open(path)
	Set Selection=wordApp.selection
	'Replace content
		Selection.WholeStory
		Selection.Find.ClearFormatting
		Selection.Find.Replacement.ClearFormatting
		With Selection.Find
			.Text = "[Name]"
			.Replacement.Text = "Müller"
			.Forward = True
			.Wrap = wdFindContinue
			.Format = False
			.MatchCase = False
			.MatchWholeWord = False
			.MatchWildcards = False
			.MatchSoundsLike = False
			.MatchAllWordForms = False
		End With
		Selection.Find.Execute wdReplaceAll
	Next
Was es tun soll ist im Word Dokument den Platzhalter [Name] durch 'Müller' zu ersetzen. Tut es aber nicht.

2. Problem:
Code
Const wdBackground=True
Const wdAppend=False
Const wdRange=0
Const wdOutputFileName=False
Const wdFrom=""      'auch schon 1 versucht
Const wdTo=""          'auch schon 1 versucht
Const wdItem=0
Const wdPages=""
Const wdPageType=0
Const wdPrintToFile=False
Const wdCollate=True
Const wdFilename=""
Const wdActivePrinterMacGX=False
Const wdManualDuplexPrint=False
Const wdPrintZoomColumn=0
Const wdPrintZoomRow=0
Const wdPrintZoomPaperWidth=0
Const wdPrintZoomPaperHeight=0

wordapp.PrintOut _
	wdBackground,_
	wdAppend,_
	wdRange,_
	wdOutputFileName,_
	wdFrom,_
	wdTo,_
	wdItem,_
	copies,_
	wdPages,_
	wdPageType,_
	wdPrintToFile,_
	wdCollate,_
	wdFilename,_
	wdActivePrinterMacGX,_     
	wdManualDuplexPrint,_
	wdPrintZoomColumn,_
	wdPrintZoomRow,_
	wdPrintZoomPaperWidth,_
	wdPrintZoomPaperHeight
Da wdActivePrinterMacGX nur auf der Mac-Wordversion verfügbar sein soll, habe ich es versuchsweise auch schon weggelassen, gleiches Resultat: Automation Object Parameter Type Error.

Versionen: Notes 6.5.4, Word 2002 SP3

Hat jemand Ideen?
Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: diali am 21.12.05 - 15:13:37
zum 1. Problem.
sieht so aus, als ob es sich um Textmarken handelt, dann geht es mit:
wdGoToBookmark = -1
Selection.GoTo wdGoToBookmark, "Name"
Selection.Find.ClearFormatting
Selection.TypeText "Müller"

Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: mibo11 am 21.12.05 - 18:23:29
2. Problem:
Const wdBackground=True
Const wdAppend=False
Const wdRange=0
Const wdOutputFileName=False
Const wdFrom=""      'auch schon 1 versucht
Const wdTo=""          'auch schon 1 versucht
Const wdItem=0
Const wdPages=""
Const wdPageType=0
Const wdPrintToFile=False
Const wdCollate=True
Const wdFilename=""
Const wdActivePrinterMacGX=False
Const wdManualDuplexPrint=False
Const wdPrintZoomColumn=0
Const wdPrintZoomRow=0
Const wdPrintZoomPaperWidth=0
Const wdPrintZoomPaperHeight=0

wordapp.PrintOut _
   wdBackground,_
   wdAppend,_
   wdRange,_
   wdOutputFileName,_
   wdFrom,_
   wdTo,_
   wdItem,_
   copies,_
   wdPages,_
   wdPageType,_
   wdPrintToFile,_
   wdCollate,_
   wdFilename,_
   wdActivePrinterMacGX,_     
   wdManualDuplexPrint,_
   wdPrintZoomColumn,_
   wdPrintZoomRow,_
   wdPrintZoomPaperWidth,_
   wdPrintZoomPaperHeight

Mir fällt auf, dass copies nicht gesetzt wurde.

Gruß Sascha
Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: Gandhi am 22.12.05 - 06:22:30
copies ist gesetzt - ist allerdings eine Variable - sorry, das habe ich vergessen hinzuschreiben.
Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: Axel am 22.12.05 - 11:44:37
Hi,

was passiert denn, wenn du Printout ohne, oder nur mit den unbedingt notwendigen Parametern, aufrufst.

Zeichne dir doch auch mal ein Makro in Word mit dem Printout-Befehl auf und schau, wie dort die Parameter gesetzt werden.


Axel
Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: Gandhi am 22.12.05 - 13:09:03
Das mit dem Makro war mein erster Versuch - hat aber das gleiche Ergebnis geliefert.
Interessant ist, dass das Makro eine andere Reihenfolge der Parameter erzeugt hat, als dies in der MS Hilfe angegeben ist.
Das Print-Makro sieht so aus:
Code
Sub printdocument()
'
' printdocument Macro
' Macro recorded 16.12.2005 by u19292
'
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
End Sub
Die Parameterwerte entsprechen den oben als Konstanten definierten.
Das Search and Replace Makro sieht wie folgt aus:
Code
Sub findandreplace()
'
' findandreplace Macro
' Macro recorded 05.12.2005 by u19292
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "[Name]"
        .Replacement.Text = "Müller"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Das Search and Replace Makro so:
Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: Axel am 22.12.05 - 14:05:48
In VBA dürfte die Reihenfolge der Parameter egal sein, da sie ja benannt sind.

Application.PrintOut FileName:="", Range:=wdPrintAllDocument...

In Notes übergibst du aber nur die Variableninhalte. Ich würde die Reihenfolge nehmen, die sich aus dem Makro ergibt.

Application.PrintOut("", wdPrintAllDocument...


Axel
Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: diali am 22.12.05 - 14:12:22
da kann ich Axel nur zustimmen, die VBA-Hilfe und Makros nutzen manchmal eine andere Reihenfolge der Parameter. Ich habe schon die erfahrung gemacht, dass manchmal die Reihenfolge der Hilfe, manchmal die Reihenfolge des Makros, und manchmal die Reihenfolge der Schnellhilfe verwendet werden muss.

Gruß
Dirk
Titel: Re: 2 Probleme mit Word-Anbindung
Beitrag von: Gandhi am 22.12.05 - 14:59:11
Wie gesagt, die Reihenfolge des Makros habe ich auch schon versucht - ohne Erfolg.
Meine Vermutung war daraufhin, dass ich eben, weil die Variablen nicht benamt werden können und einige davon optional und nicht im Makro vorhanden sind, vollständig in der 'richtigen' Reihenfolge angeben sollte. Leider hat das nicht funktioniert - wobei ich jetzt an der VBA Hilfe zweifle.
Gibt es irgendwo eine zuverlässige Referenz für die VBA Klassen?