Vilket sätt är rätt när man vill starta upp Word för att generera ett worddokument i ett VB6 program: Jag skulle nog sagt att det är en kombination av dina alternativ Båda sätten fungerar väl. Jag vill starta en ny. Att du kan dimensionera variablerna som Word.Application och Word.Document innebär ju att du har en referens till Words objektbibliotek och då finns det ingen anledning att köra CreateObject tycker jag. Även om det förstås går.Start Word i VB6
Dim Wrd As Word.Application
Dim Doc As Word.Document
Alt 1.
Set Wrd = New Word.Application
Set Doc = Wrd.Documents.Add
Alt 2.
Set Wrd = CreateObject("Word.Application")
Wrd.Documents.Add
Set Doc = Wrd.ActiveDocument
Jag använder sedan Doc. för att jobba med och fylla dokumentet.
Hälsningar Bosse A.Sv: Start Word i VB6
<code>
Set Wrd = New Word.Application
Wrd.Documents.Add
Set Doc = Wrd.ActiveDocument
</code>Sv: Start Word i VB6
Så vad är det som du avser med rätt?
Vill du använda en befintlig Word instance?Sv:Start Word i VB6
I bland får jag error: Remote machine not avible ....
Kanske är det när flera samtidigt kör koden för att skapa worddokument.Sv: Start Word i VB6
Med referens (early binding):
Dim Wrd As Word.Application
Dim Doc As Word.Document
Set Wrd = New Word.Application
Set Doc = Wrd.Documents.Add
Utan referens (late binding):
Dim Wrd As Object
Dim Doc As Object
Set Wrd = CreateObject("Word.Application")
Set Doc = Wrd.Documents.Add
Det finns ingen anledning att köra med ActiveDocument.