Seite 1 von 1
COMate/PureDispHelper
Verfasst: 09.12.2008 18:21
von Andi
Hallo zusammen, für PureDispHelper-Lib gibt es ein Beispielprogramm word_find_replace. Dort sind folgende Zeilen enthalten:
Code: Alles auswählen
Define.l wdReplaceAll = 2
.
.
.
dhCallMethod (oWord, "Selection.Find.Execute(%m,%m,%m,%m,%m,%m,%m,%m,%m,%m,%u)",wdReplaceAll)
Ich bin nun dabei, meine vielen kleinen Word-Tools von PureDispHelper auf COMate umzustellen. Wie kann ich denn in COMate eine Variable %m (also vom Typ "missing") hinkriegen?
P.S.
Kiffi, ich habe jetzt zuerst im deutschen Forum gepostet!!
Re: COMate/PureDispHelper
Verfasst: 09.12.2008 21:12
von Kiffi
Andi hat geschrieben:Kiffi, ich habe jetzt zuerst im deutschen Forum gepostet!!

dann sollst Du auch nicht lange auf Deine Antwort warten
#Empty oder
#Optional oder
#Opt sind die Zauberwörter.
Grüße ... Kiffi
Verfasst: 10.12.2008 09:50
von Andi
@Kiffi: Danke für die Zauberwörter!
Verfasst: 10.12.2008 20:49
von Little John
2
Andi:
Vielleicht magst Du die COMate-Version des Find/Replace-Programms hier posten?

Das interessiert mich.
Ich kann mir auch vorstellen dass
srod nicht abgeneigt wäre, es COMate als "offizielles" Beispielprogram hinzuzufügen.
Gruß, Little John
Verfasst: 10.12.2008 22:12
von Kiffi
Little John hat geschrieben:Das interessiert mich.
Hase Cäsar hat geschrieben:Biddeschööööön:
Code: Alles auswählen
IncludePath #PB_Compiler_Home + "comate"
XIncludeFile "comate.pbi"
Procedure WordSearchReplace(InFile.s, OutFile.s, Search.s, Replace.s)
Protected oWord.COMateObject
Protected ExecutionString.s
#wdReplaceAll = 2
oWord = COMate_CreateObject("Word.Application")
oWord\Invoke("Documents\Open('" + InFile + "')")
oWord\Invoke("Selection\WholeStory")
oWord\Invoke("Selection\Find\ClearFormatting")
oWord\SetProperty("Selection\Find\Text = '" + Search + "'")
oWord\Invoke("Selection\Find\Replacement\ClearFormatting")
oWord\SetProperty("Selection\Find\Replacement\Text = '" + Replace + "'")
ExecutionString = "%m,%m,%m,%m,%m,%m,%m,%m,%m,%m,%u"
ExecutionString = ReplaceString(ExecutionString, "%m", "#Optional")
ExecutionString = ReplaceString(ExecutionString, "%u", Str(#wdReplaceAll))
oWord\Invoke("Selection\Find\Execute(" + ExecutionString + ")")
oWord\Invoke("ActiveDocument\SaveAs('" + OutFile + "')")
oWord\Invoke("Quit(0)")
oWord\Release()
EndProcedure
InFile.s = "C:\Programme\Microsoft.NET\SDK\v2.0\Tool Developers Guide\1031\Readme.doc"
OutFile.s = "C:\Programme\Microsoft.NET\SDK\v2.0\Tool Developers Guide\1031\Readme2.doc"
Search.s = "e"
Replace.s = "x"
WordSearchReplace(InFile, OutFile, Search, Replace)
(Errorhandler und so'n Zeug habe ich jetzt erstmal weggelassen)
Grüße ... Kiffi
Verfasst: 10.12.2008 23:20
von Little John
Kiffi hat geschrieben:Hase Cäsar hat geschrieben:Biddeschööööön:
Schon als Kind mochte ich den Hasen Cäsar gerne.

Vielen vielen Dank, Kiffi!
Das ist sehr nützlich, denn man kann so mit PureBasic z.B. Serienbriefe in Form von (bei Bedarf aufwendig formatierten) Word-Dokumenten schreiben.
Gruß, Little John
Verfasst: 23.03.2009 18:02
von Little John
Wenn ich nichts ersetzen, sondern nur etwas suchen will:
Wie kann ich festlegen
und wie teilt COMate mir mit, ob der Suchbegriff im betr. Dokument gefunden wurde?
Gruß, Little John
Re: COMate/PureDispHelper
Verfasst: 23.04.2013 13:54
von bobobo
kann man sich auch sparen in Kiffis Code
Re: COMate/PureDispHelper
Verfasst: 23.04.2013 14:50
von Kiffi
Zombiebuddler, Du!
Re: COMate/PureDispHelper
Verfasst: 24.04.2013 18:42
von bobobo
naja .. guter Code wird nicht schlecht
