Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [VBA/VB6] Documento word che non si aggiorna

    Dal pulsante di una form, uso questo codice per aprire, aggiornare e salvare un documento Word basato su un modello
    codice:
    Private Sub Command1_Click()
        Set wApp = New Word.Application
        wApp.Visible = True
        Set wDoc = wApp.Documents.Add("P:\doc_originali\protocollo_doc.dot")
        wDoc.SaveAs ("P:\Documenti\" & protocollo & ".doc")
    ---->   If (ActiveDocument.Bookmarks.Exists("numero")) Then
            ActiveDocument.Bookmarks("numero").Range.Text = numero.Value
            End If
            ...
    End Sub
    Tuttavia, una volta si e una volta no mi va in errore dicendomi:

    ERRORE 462: Il computer remoto non esiste o non risponde

    oppure

    ERRORE 4248: Il comando non è disponibile perchè non c'è nessun documento aperto

    E si interrompe alla riga evidenziata con la freccia. Se poi riprovo a premere il pulsante una seconda volta va bene.
    Come mai la prima volta si inchioda? Problemi di Time-Out?
    (dicesi "ipotesi casuale buttata lì"...... )
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    UP UP UP!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  3. #3
    Buongiorno!
    Nessuno mi sa dare un consiglio????
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333
    Il percorso che hai indicato per il documento sembrerebbe essere una unità di rete...sei sicura che tale unità non venga connessa solamente quando tenti di salvare il file?

    Magari, se l'operazione impiega un po' di tempo ad essere eseguita, questo comporta l'errore che ottieni (e che invece non si ripresenta al secondo tentativo).

    Potresti tentare di utilizzare un percorso simile a
    \\nomemacchina\directory\nomedelfile.doc

    Si tratta solamente di ipotesi, ovviamente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Grazie dell'ipotesi....

    Effettivamente P: è una unità di rete ma mi dà lo stesso problema anche se effettuo le stesse operazioni sul mio PC....
    Quindi non credo dipenda da quello.

    Hai per caso altre idee???
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  6. #6
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, prova ad aggiungere wApp.Activate dopo l'istruzione wApp.Visible = True
    Jupy

  7. #7
    Ho scritto così:
    codice:
        Set wApp = New Word.Application
        wApp.Visible = True
        wApp.Activate
        Set wDoc = wApp.Documents.Add("P:\doc_originali\protocollo_doc.dot")
        wDoc.SaveAs ("P:\Documenti\" & protocollo & ".doc")
        ...
    Ma non va lo stesso.
    Sempre come prima, ti dico cosa succede quando premo il pulsante nella form:

    1. Apre il Word
    2. Salva il File con il nome corretto
    3. Non mi riempie i segnalibri dentro il documento e va in errore alla riga evidenziata nell'altro messaggio (alternativamente resituisce i due errori che ho scritto)
    4. Chiudo il Word
    5. Riprovo a premere il pulsante e va tutto bene


    Oltretutto ho usato una sintassi simile per i file Excel
    codice:
        Set xlsApp = New Excel.Application
        xlsApp.Visible = True
        Set xlsDoc = xlsApp.Application.Workbooks.Add("P:\doc_originali\protocollo_xls.xlt")
        Set xlSheet = xlsDoc.Worksheets("Foglio1")
        xlSheet.Range("I3").Value
        ...
        xlsDoc.SaveAs ("P:\Documenti\" & protocollo & ".xls")
    e in questo caso funziona alla perfezione!

    Forse sono i segnalibri in Word che fanno casino??? Esistono altre soluzioni?

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  8. #8
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, prova a cambiare cosi:
    codice:
    Private Sub Command1_Click()
       Dim wDoc As New Word.Document
       Dim wApp As Word.Application
       Set wApp = New Word.Application
       wApp.Visible = True
       wApp.Activate
       Set wDoc = wApp.Documents.Add("P:\doc_originali\protocollo_doc.dot")
       wDoc.SaveAs ("P:\Documenti\" & protocollo & ".doc")
       If (wDoc.Bookmarks.Exists("numero")) Then
          wDoc.Bookmarks("numero").Range.Text = numero.Value
       End If
       ....
       ....
    End Sub
    a me non da nessun errore.
    Jupy

  9. #9
    A me si comporta sempre nello stesso modo....
    Sono storta io????
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.