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

Discussione: Problema (noto) con automazione Word

  1. #1
    L'avatar di Hollywood
    Hollywood non è in linea Scolaretto
    Post
    301

    Problema (noto) con automazione Word

    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:
    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:

    codice:
    '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:

    codice:
    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 19:03  Motivo: Errore di battitura

  2. #2
    L'avatar di Hollywood
    Hollywood non è in linea Scolaretto
    Post
    301
    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":

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

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi