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


Avsluta Worddokument

Postades av 2004-08-12 18:36:31 - Kjell Andersson, i forum visual basic - allmänt, Tråden har 18 Kommentarer och lästs av 895 personer

Jag anänder Set Word = CreateObject("Word.Application")

Med Word.Visible = True läser jag min Wordrapport, stänger den och säger att jag inte vill spara.

I stängknappen har jag Set Word = Nothing

Hur blir jag av med att när jag stänger av datorn kommer frågan om jag vill spara Worddokumentet som tydligen ligger kvar?


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-14 20:08:36 - Johan Forsberg

.Quit

Kontrollera först med GetObject om det är igång.
(Set blnIsRunning = GetObject(ev. Param, "Word.Application")

Kolla som vanligt eller med felkod <> 0.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-15 10:54:06 - Kjell Andersson

Med .Quit får jag felmeddelandet om att the remote server machine does not exist or is unavailable.
Men maskinen står här på bordet, jag ser den klart och tydligt.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-15 11:28:46 - Heinz Svedling


Prova med att ha Set Word = Nothing i samma Sub-rutin
som Set Word = CreateObject("Word.Application").


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-15 15:37:32 - Kjell Andersson

Exakt så har jag redan.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-15 19:22:14 - Kjell Andersson

Programmet har testats på en annan dator och där kommer meddelandet att Normal.dot har ändrats vill du spara?
Hur kan Set Word = CreateObject("Word.Application") påverka Normal.dot?


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-16 08:52:36 - Johan Forsberg

Egentligen ska man inte skriva så här men vad händer om du gör det?
Följande fungerade på min dator:

Option Explicit
Dim Word As Object

Private Sub Command1_Click()
Set Word = CreateObject("Word.Application")
End Sub

Private Sub Command2_Click()
Word.Quit
End Sub

Private Sub Command3_Click()
Word.Visible = True
End Sub


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-16 09:57:24 - Åsa Holmgren

Hur öppnar du själva dokumentet (Wordrapporten)? Har dokumentet makron? Hur stänger du dokumentet, med kod eller som vanligt i Word? Innehåller koden någon objektvariabel för dokumentet och isåfall sätter du den till Nothing?


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-16 11:43:05 - Kjell Andersson

Här är en del av koden jag använder

Deklaration

Dim Word As Word.Application
Dim Doc As Word.Document

Sedan hämtas data med SQL till ett RecodSet. Dessa data skall skrivas ut i Word.

Set rsPerson = New ADODB.Recordset
rsPerson.Open strSQLPersonFödd, ConnPerson

Set Word = CreateObject("Word.Application")
Set Doc = Word.Documents.Add()

Sedan kommer en loop genom recodsetet med
Word.Selection.TypeText rsPerson!ForNamn
osv...

rsPerson.Close
ConnPerson.Close

Word.Visible = True

Det finns makron i dokumentet men de används inte här.

Worddokumentet som nu visas stänger jag från Word.
I Avslutaknappen har jag koden


Set Doc = Nothing
Set Word = Nothing

Detta med Word.Quit får jag bara felmeddelande med.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-16 12:37:46 - Andreas Hillqvist

<code>
Dim Word As Word.Application
Dim Doc As Word.Document


Set Word = CreateObject("Word.Application")
Set Doc = Word.Documents.Add()

Word.Selection.TypeText "Test"

Word.Visible = True

Stop

Doc.Close wdDoNotSaveChanges
Set Doc = Nothing

Word.Quit wdDoNotSaveChanges
Set Word = Nothing

</code>


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-16 13:39:21 - Kjell Andersson

Det blir samma felmeddelande på Close som på Quit. På raden
Doc.Close wdDoNotSaveChanges
kommer felmeddelandet som jag beskrev ovan om att the remote server machine does not exist or is unavailable. Om jag inte skapar något dokument utan har Close och Quit i Anslutaknappen kommer felmeddelande om att Object variable or With block variable not set.

Endast när jag har
Set Doc = Nothing
Set Word = Nothing

blir det inga fel men då vet jag inte om dokumentet avslutats.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-16 16:02:16 - Åsa Holmgren

Det finns en del att ta hänsyn till när man blandar automatisk och manuell hantering av en applikation, i det här fallet Word.

När man använder CreateObject skapas en ny instans av Word. Om Word redan är startat på datorn får man alltså två instanser. För att undvika det bör man först undersöka om Word körs.

<code>
Private Sub cmdReport_Click()
Dim oWdApp As Word.Application
Dim oWdDoc As Word.Document

On Error Resume Next

' Om Word redan körs sätts objektvariabeln till Word-applikationen
Set oWdApp = GetObject(, "Word.Application")

' Om Word inte körs startas det.
' Använder "New" istället för "CreateObject" eftersom vi snackar early binding här
If Err Then Set oWdApp = New Word.Application

On Error GoTo cmdReport_Err

' Skapar nytt Worddokument
Set oWdDoc = oWdApp.Documents.Add

' Skriver något i dokumentet och gör Word synligt
oWdDoc.Range.InsertAfter "Hej hopp"
oWdApp.Visible = True

cmdReport_End:
Set oWdDoc = Nothing
Set oWdApp = Nothing
Exit Sub

cmdReport_Err:
If Not oWdApp Is Nothing Then
If oWdApp.Visible = False Then oWdApp.Quit wdDoNotSaveChanges
End If
GoTo cmdReport_End
End Sub
</code>

Koden ovan skapar ett Worddokument och lämnar sedan över ansvaret till användaren att spara/stänga dokumentet och själva Word.

Om du vill skriva kod för att "städa upp Word-grejorna" när programmet avslutas måste du ta hänsyn till att användaren kan ha stängt dokumentet och kanske även avslutat Word. Innan du avslutar Word med kod bör du också ta hänsyn till om användaren har öppnat/skapat andra Worddokument som behöver sparas och/eller stängas.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-17 00:19:33 - Kjell Andersson

Tack för att du ledde mig genom denna djungel! Nu får jag inga felmedelnaden och är lycklig ingen:)
Behöver jag inte använda oWdDoc.Close?

Skall det i Avslutaknappen se ut som efter cmdReport_Err: ?


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-17 09:15:07 - Åsa Holmgren

oWdDoc.Close stänger Worddokumentet och det är ju inte aktuellt förrän du har hunnit läsa det.

I min exempelkod ovan skapar du ett worddokument som sedan får leva sitt eget liv. I och med att du har satt objektvariablerna till Nothing så har ditt program inte längre någon kontakt med Wordapplikationen eller Worddokumentet och kan därför inte erbjuda någon avslutafunktion.

Behövs en avslutafunktion tycker du? Är det inte OK att användaren själv tar hand om att stänga worddokumentet och wordapplikationen när han/hon/du har läst rapporten?


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-17 11:50:40 - Kjell Andersson

Då är väl allt OK då!
Jag nämde tidigare att en testperson fick meddelande om att Normal.dot hade ändrats. Är det möjligt att det också är löst med denna finurliga kodning?


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-17 13:35:42 - Åsa Holmgren

Det finns inget i den här trådens kod som gör ändringar i Normal.dot så det är svårt att veta vad som behöver sparas. Meddelande om att Normal.dot har ändrats får den som har "Verktyg-Alternativ-Spara-Uppmana att spara mallen Normal" ikryssad, annars sparas den automatiskt när det behövs.

Ändringar i verktygsfälten, inspelning av makron, klickning på knappen "Standard..." i dialogrutor för t.ex. utskriftsformat och formatera tecken är exempel sådant som ändrar Normal.dot.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-17 13:57:03 - Kjell Andersson

Tackar och bugar väldigt för hjälpen!!

Jag kom på att det finns fontförändringar i koden

Word.Selection.Font.Color
Word.Selection.Font.Bold
Word.Selection.Font.Size

Är det månne detta som gör att användaren kan få frågan om att spara Normal.dot?


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-20 10:53:16 - Åsa Holmgren

Nej, det ändrar bara fonten i själva dokumentet, inte i Normal.dot.

PS. lite snabbare och lite snyggare...

With Word.Selection.Font
.Color
.Font
.Size
End With

DS.


Svara

Sv: Avsluta Worddokument

Postades av 2004-08-20 18:45:56 - Kjell Andersson

Tjusigt!


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 710
27 958
271 751
552
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