Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


GetObject("wordfil.doc")

Postades av 2001-04-02 07:55:00 - Peter Holm, i forum visual basic - allmänt, Tråden har 3 Kommentarer och lästs av 723 personer

Hej allihopa idag fortsätter serien, Peter Undrar.

Jag använder funktionen GetObject för att få en referens till en wordfil.
I denna wordfil utför jag sedan vissa "search and replace" operationer.

dim doc as WORD.Document
Set doc = GetObject(wordfil.doc)

Därefter skriver jag ut filen och allt detta fungerar helt suvve.

doc.PrintOut

MEN, (There is always a but). När utskriften är klar så är det inte bara
att sätta referensen till dokumentet = nothing, för det lever fortfarande
en WORD.EXE process i datorn. Dessutom kommer en msgbox upp på
skärmen från skrivarservern som säger att utskriften är klar.

set doc = Nothing 'Processen lever kvar i alla fall

Frågor.
=============================================
1. Hur tar jag kål på denna process på ett kontrollerat sätt.
2. Hur stänger jag "programmässigt" den msgbox som bekräftar utskriften.

på fråga 1 kan jag tillägga att jag testat med:

doc.Close

Detta stänger förvisso ner WORD-processen, men då får jag en annan
dialogruta på skärmen som säger att utskriften kommer att avbrytas om
WORD stängs ner.

Tack på förhand peterh.

Bifogar koden så kan ni kanske testa själva. Om ni testar så tänk på:

koden vill öppna en fil som heter SWEDEN_2B.DOC i denna gör den
search & replace på följande strängar

"<<TYPE>>"
"<<SERIAL>>"
"<<DATE>>"

clsPrintCert ====================================

Option Explicit

Public Sub printCert(LandsNamn As String, _
Certifikat As String, _
Modell As String, _
Serienummer As String)

Dim doc As Word.Document

Dim filnamn As String
'Bygg filnamn.
'
'
' Exempel: SWEDEN_2B.DOC
' SWEDEN_CE.DOC
'
'
filnamn = App.Path & "\" & LandsNamn & "_" & Certifikat & ".doc"
On Error Resume Next
Set doc = GetObject(filnamn)
If doc Is Nothing Then
'INGEN REFERENS, ALLTSÅ FELAKTIGT CERTNAMN. DÅ KÖR VI ALLTID ENGELSK
filnamn = App.Path & "\" & "UNITED KINGDOM" & "_" & Certifikat & ".doc"
Set doc = GetObject(filnamn)
If doc Is Nothing Then
'FATALT FEL, Engelsk mall existerar inte
'Addera kod här för att hantera detta.
'Exvis msgbox som säger att mallen saknas och att
'inget certifikat kunde skrivas ut.
Exit Sub
End If
End If

'Vi har en referens doc till ett wordobject
'Aktivera dokumentet
doc.Activate

'Nu skall vi utföra lite seacrh and replace
'REPLACE <<TYPE>> med Modell
With doc.Content.Find
.Text = "<<TYPE>>"
.Replacement.Text = Modell
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With

'REPLACE <<SERIAL>> med Serienummer
With doc.Content.Find
.Text = "<<SERIAL>>"
.Replacement.Text = Serienummer
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With

'REPLACE <<DATE>> med aktuellt datum
With doc.Content.Find
.Text = "<<DATE>>"
.Replacement.Text = Format(Date, "Short Date")
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With

'Skriv ut dokumentet
doc.PrintOut

'Döda objectet
Set doc = Nothing
End Sub


Form1 ====================================

Dim cert As New clsPrintCert
cert.printCert "SWEDEN", "2B", "MX 1100", "21/XX/28761"
Set cert = Nothing

/peterh (igen)




Svara

Sv: GetObject("wordfil.doc")

Postades av 2001-04-02 09:14:00 - Pelle Johansson

Kan du inte skriva:

doc.quit
set doc=nothing


Svara

Sv: GetObject(

Postades av 2001-04-02 09:40:00 - Peter Holm

Jo förvisso. Men då får det bli doc.application.quit isåfall Men
naturligt för detta bieffekter med sig.

Stänger man word direkt så får man problemet att filen inte skrivs ut.

Jag måste ta mig en rejäl funderare på detta. Det kan ju också vara så
att word redan körs, och då skall det inte stängas ner efter utskriften.

/peterh


Svara

Sv: GetObject(

Postades av 2001-04-02 11:21:00 - Pelle Johansson

Du kanske kan avhjälpa det genom att skriva

doc.printout
doc.close (nån parameter)
doc.quit

set doc=nothing

Ps. har för mig att doc.close har någon parameter som tvingar att avsluta utan att spara ändringar - den kommer således troligtvis att vänta tills utskriften är klar.

Hälsningar
/Pelle


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
5 763
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies