+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 2 su 2

Problema (noto) con automazione Word

  1. #1
    L'avatar di Hollywood
    Hollywood non è in linea Scolaretto
    Buonasera.
    Ho realizzato un programmino che apre un foglio word ed aggiunge dell'altro testo. Il problema è che "lo fa una volta sola", ovvero la seconda volta che si esegue la routine ottengo un errore "il computer server remoto non esiste o non è disponibile".
    Bene questo, come da titolo è un problema noto e ben documentato, la cui soluzione, però non riesco ad applicare.
    Quindi con il codice:
    Dim wAppCode As Object
    Dim wDocCode As Object
    If App.LogMode = 0 Then
        Set wAppCode = New Word.Application
    Else
        Set wAppCode = CreateObject("Word.Application")
    End If
    Set wDocCode = wApp.Documents.Open(stNmFileCode)
    
    'Seleziono il contenuto fra i due segnalibri
    Dim r As Range
    Set r = wDocCode.Range(Start:=ActiveDocument.Bookmarks("inipag").Range.Start, End:=ActiveDocument.Bookmarks("finepag").Range.End)
    
    seleziono il testo da copiare in altro foglio e la prima volta funziona, la seconda volta invece no.
    La soluzione da mamma MS è quella di "precedere la chiamata con la variabile oggetto appropriata" segue un esempio preso dal sito di MS:

    'Riga che al secondo giro NON funziona
    Set oRange = ActiveDocument.Sections(1).Range
    'Riga che funziona sempre
    Set oRange = oWord.ActiveDocument.Sections(1).Range
    
    Ovviamente oRange ed oWord sono opportunamente referenziate e valorizzate nel progetto di esempio.
    Quindi quello che in questo esempio è "oWord", nel mio progetto è "wAppCode", ma non ho trovato in nessun modo come modificare la stringa:

    Set r = wDocCode.Range(Start:=ActiveDocument.Bookmarks("inipag").Range.Start, End:=ActiveDocument.Bookmarks("finepag").Range.End)
    
    aggiungendo il riferimento richiesto da MS e far si che giri anche la seconda volta…

    Grazie a tutti coloro che vorranno dire la loro.
    Ultima modifica di Hollywood; 16-10-2020 20:03  Motivo: Errore di battitura

  2. #2
    L'avatar di Hollywood
    Hollywood non è in linea Scolaretto
    Risolto: evidentemente mi ero "perso" in un bicchiere d'acqua… o me la stavo dormendo

    la stringa incriminata andava scritta come sotto, con il riferimento corretto anche per il "bookmarks":

    Set r = wDocCode.Range(Start:=wDocCode.Bookmarks("inipag").Range.Start, End:=wDocCode.Bookmarks("finepag").Range.End)
    
    Saluti

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 2
    Ultimo Post: 15-09-2017, 19:00
  2. Automazione word
    Da Jocman nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 02-03-2017, 08:42
  3. Automazione word
    Da CESABAS nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 05-03-2015, 14:40
  4. automazione word
    Da margiu nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 08-11-2011, 21:07
  5. Automazione Word
    Da Rob nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 28-01-2008, 19:37