Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB6] e word

    Ciao a tuti... sto scrivendo una piccola DLL che mi compila dei bookmarks in word e poi mi manda in stampa il file dopo averlo salvato, ma ho un problema: il file viene generato e salvato, ma quando viene lanciata la stampa il file va in coda e poi si elimina da solo dalla coda.
    Sapete dirmi dove sbaglio? Questo è il codice.
    codice:
    Option Explicit
    
    Private objWord As Word.Application
    
    Private Sub Class_Initialize()
      Set objWord = New Word.Application
    End Sub
    
    Public Function stampaRicevuta(str As String, stampante As String, url_1 As String, url_2 As String)
     On Error Resume Next
     Dim objDoc As Word.Document
     Dim arr As Variant
     arr = Split(str, "§")
     Set objDoc = objWord.Documents.Open(url_1)
     objDoc.SaveAs (url_2)
     With objWord.ActiveDocument
     .Bookmarks("società").Range.Text = arr(0)
     .Bookmarks("codSoc").Range.Text = arr(1)
     .Bookmarks("ind").Range.Text = arr(2)
     .Bookmarks("cap").Range.Text = arr(3)
     .Bookmarks("citta").Range.Text = arr(4)
     .Bookmarks("marca").Range.Text = arr(5)
     .Bookmarks("tel").Range.Text = arr(6)
     .Bookmarks("modello").Range.Text = arr(7)
     .Bookmarks("data").Range.Text = arr(8)
     .Bookmarks("prov").Range.Text = arr(9)
     .Bookmarks("matricola").Range.Text = arr(10)
     .Bookmarks("codRip").Range.Text = arr(11)
     .Bookmarks("accessori").Range.Text = arr(12)
     .Bookmarks("note").Range.Text = arr(14)
     .Bookmarks("dif1").Range.Text = arr(15)
     .Bookmarks("xchi").Range.Text = arr(16)
     If arr(13) = "1" Then
      .Bookmarks("si").Range.Text = UCase(" x")
      .Bookmarks("no").Range.Text = " "
     Else
      .Bookmarks("no").Range.Text = UCase(" x")
      .Bookmarks("si").Range.Text = " "
     End If
     End With
     objDoc.Save
     objWord.ActivePrinter = stampante
     objWord.PrintOut (False)
     objDoc.Close
     Dim i As Integer
    
     objWord.Quit
     stampaRicevuta = "Stampa riuscita su " + stampante
     
    If Err.Number <> 0 Then
     objWord.Quit
     Set objWord = Nothing
     stampaRicevuta = "Stampa non riuscita su " + stampante + "
    Descrizione Errore: " + Err.Description
    End If
    End Function
    
    Private Sub Class_Terminate()
     'objWord.Quit
     Set objWord = Nothing
    End Sub
    Grazie
    Rino

  2. #2
    uppo


  3. #3
    riuppo e spero...

  4. #4
    Nessuno fa stampe da VB con word?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Va in coda e poi scompare dalla coda ... a prima vista, direi che il file e' passato alla stampante regolarmente.

    Non credo sia un problema del programma.

    Hai provato a stampare un documento word senza usare il programma?

  6. #6
    da word parte...
    il fatto che poi chiudo l'oggetto con objWord.Quit e sono ha finito la stampa si chiude il tutto e chiude il processo... ma se non do objWord.Quit non rischio di avere 2000 processi di word?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La quit la devi fare. Ma non dovrebbe chiudere il processo prima di avere mandato in stampa il documento.

    Prova a scrivere

    objWord.PrintOut Background:=False

  8. #8
    mi da questo ritorno come descrizione di un errore:
    Codice PHP:
    Stampa non riuscita su \\\\CASA1\\Lexmark 3100 Series
    Descrizione Errore
    Object variable or With block variable not set 
    Pur mandando avanti il processo di stampa...

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Questo mi sembra una conseguenza di qualche errore precedente che non si e' manifestato per la On Error Resume Next

    Elimina per una prova tale istruzione con

    ' On Error Resume Next

    e avvia il programma per capire dove e' il vero errore.

  10. #10
    essendo una dll caricata da PHP o VBscript come lo leggo l'errore? dove mi ritorna?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.