Hallå!! (Utskriftproblem med Word)
Jag vill skriva ut ett worddokument i x antal kopior från VB. Varje dokument har ett adressfält som jag vill ändra. Men jag får för ofta fram felet "The memory could not be "read". Speciellt om jag sätter in en for-sats i koden. Men ockås om jag direkt efter programkörning startar om körningen.
Någon som vet varför det inte vill fungera ?
Har bifogat min kod:
[FORM]
<code>
Private Sub Form_Load()
Set WordApp = CreateObject("Word.Application")
'Öppna mallen
WordApp.Documents.Open App.Path & "\Test.doc", , True, False
SetWordText "[namn]", "Nisse Jönsson"
SetWordText "[adr]", "Virretorp"
SetWordText "[postnr]", "633 33"
SetWordText "[ort]", "Surtuna"
WordApp.ActiveDocument.PrintOut
'Visar Word - dokumentet
WordApp.Visible = True
Set WordRange = Nothing
Set WordDoc = Nothing
Set WordApp = Nothing
End Sub
</code>
[Modul]
<code>
Public WordApp
Public WordRange As Word.Range
Public Sub SetWordText(TextToReplace As String, NewText As String)
'Anger hela dokumentet som sökområde
Set WordRange = WordApp.ActiveDocument.Content
'Letar reda på strängen som skall bytas ut
WordRange.Find.Execute FindText:=TextToReplace, Forward:=True
'Om strängen hittas ersätts den
If WordRange.Find.Found = True Then
WordRange = NewText
End If
End Sub
</code>
Svara
Sv: Hallå!! (Utskriftproblem med Word)
Har du laddat hem alla office oppdateringar?
Kanske dokumentet ditt e skadat?
1. öppna dokumentet i Word.
2. Kopier all text till notepad
3. Klistra inn i et helt nytt word dokument. Spara och testa med dette.
om kopieringen via notepad löser problemet, så kan du prova å kopiere og klistre direkt uten å gå via Notepad. Om du da får samme problem, prøv å spare ditt original dokument i .rtf format og åpne det på nytt. Spar det igjen som .doc og prøv å bruke dette istedet.
Svara
Sv: Hallå!! (Utskriftproblem med Word)
Jag har alla uppdateringarna till Offices installerade. Har provat på flera maskiner också. Det roliga är att en utskrift går bra men flera är omöjligt.
Svara
Sv: Hallå!! (Utskriftproblem med Word)
Hej!
Det som jag tror är problemet är att Word bearbetar utskriften medan du försöker ändra i dokumentet och att dokumentet därför är låst.
För att testa kan du lägga in en fördröjning efter PrintOut, antingen genom en for-loop:
for i = 1 to 1000000: next i
(anpassa för hur lång tid det tar för loopen att köras på din dator)
Vet inte om detta sättet är "optimalt" för en fördröjning men man kan ju testa ;-)
Jag vet inte riktigt hur Windows hanterar arbetet när man gör så här men en DoEvents kanske kan hjälpa.
Svara
Sv: Hallå!! (Utskriftproblem med Word)
Skall testa med at lägga en fördröjning. Har fnulat på det! Det verkar som om dokumentet inte "stänger av sig" efter utskrift. För efter omstart av min datorn när jag skulle öppna ett annat word-dokument så öppnades alla tidigare vb-word-utskrift försök och det blev en hel del.
Skall tillägga att det inte är några fel på word-dokumenten som jag använt. Alla uppdateringar på operativsystem, office och visual studio är utförda och maskinen spinner som en katt helt problemfritt.
Svara
Sv: Hallå!! (Utskriftproblem med Word)
....men testa at skapa om dokumentet endå. Det ska inte være mulig via VB eller VBA at få Word til at krasja. Om Word krasjar, och det inte er et drivrutinsproblem på datorn (typ skrivar eller annat), så är det enligt min efarenhet et skadat dokument inblandat. Kom ihåg att et word dokument inneholder mycket mer enn det du ser på skjermen. :-)
(Det fins många olika sett et dokument kan skadas på.)
Svara
Sv: Hallå!! (Utskriftproblem med Word)
Hej..
Testa att stänga dokumentet innan du kör viadare i snurran.
WordApp.ActiveDocument.Close() '*** Tror jag det är, du får titta.
Testa även att stänga word.
WordApp.Quit()
//fredda
Svara