Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [VB.NET] - Ancora manipolazioni di Word da VB.NET

    Ciao mi trovo di nuovo alle prese col problema di compatibilità di versioni di word per poterlo usare dalla mia applicazione visual basic .net...

    Io uso il codice in questione per manipolare i miei file di word:

    codice:
            Dim oWord As Object 
            Dim oDoc As Object 
            oWord = CreateObject("Word.Application")
    usando questo metodo in teoria (essendo generico) dovrebbe funzionare con tutte le versioni! Io l'ho provato con 2003 e funziona però ora su un pc dove c'è office 2010 vedo che mi genera l'eccezione "Impossibile Creare il componente ActiveX"

    Non so come uscirne sinceramente

  2. #2
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117


    Nessuno sa dirmi nulla? Almeno se è strana come cosa...una qualsiasi info!

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Direi che il tuo codice è piuttosto scarno e non si può dedurre praticamente niente su quali siano i problemi.

    Ti sto preparando un progettino VB.NET su early-late binding per Word (sulla falsa riga di quello che hai già scaricato per Excel).
    In questo esempio, carica i dati dal classico northwind.mdb, compila il documento Word e lo salva con un nuovo nome.

    Stasera quando rientro lo pubblico sul mio sito VBCorner (http://nuke.vbcorner.net).

    P.S.
    Ho utilizzato VS2010 (FW4) + Office 2010 (la versione della libreria è la 14).
    Se la tua configurazione è diversa dovrai fare qualche modifica. Sorry.

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Cavolo io credo che il problema sia proprio la libreria! Perchè io ho la libreria 11 e 12 (io ho aggiunto la 12 al mio progetto e anche se sul mio pc ho solo office 2003 funziona tutto)...
    La 14 temo non ci sia per vs 2008
    (perchè se funziona come credo aggiungendo l'interoperabiltà con word v14 e uso early-late binding dovrebbe andare con tutte le versioni precedenti)!

    Grazie per il progetto cmq! Mi sarà sicuramente utile! (anche se non ho le versioni 2010 ne di office ne di vs xD)

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non ha importanza quali librerie di Office hai tu sul pc.

    Il vantaggio nell'usare la tecnica del late-binding è proprio questo!

    Quando scaricherai il progetto (ti avviso quando sarà in rete) ti conviene:

    1. creare un nuovo progetto
    2. aggiungere i riferimenti alla TUA libreria di Office
    3. impostare nelle proprietà del progetto la solita variabile
    4. ricreare i controlli del form (vedi l'apposito file)
    5. fare copia e incolla del codice.


    Se hai VS2008, magari vedo di convertirtelo già io.
    Ma le librerie di Office devi comunque impostarle tu.

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Come promesso:

    Early-Late Binding in VB.NET con Word
    http://nuke.vbcorner.net/Progetti/NE...T/Default.aspx

    - versione VS2008 + Office versione 12
    - versione VS2010 + Office versione 14


  7. #7
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Grazie Giiiiiiiii!
    Ho delle news comunque:

    Ho installato una virtual machine sul mio pc, partendo da zero ho installato Office 2010 sulla VM e dopo il mio software...risultato: funziona :/

    Ora mi chiedo...perchè sul pc del cliente che ha office 2010 mi da quell'errore? (il setup che ho usato è identico...)

    Può essere che abbia una versione "light" di office? (il cliente)

    Ora mi studio per bene i tuoi esempi! Li metto nella cartella "elite" con gli esempi VB.NET :P

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Occhio che da Office 2007 in su, per default sono impostate delle policy di sicurezza che bloccano l'accesso ai file o ai loro contenuti attivi.
    Ad esempio, quando apri un db con Access 2010 appare una stupenda barra gialla che indica:

    Avviso di sicurezza Il contenuto attivo è stato in parte disattivato.
    Fare clic per ulteriori dettagli.

    Bisogna disattivare la protezione macro (vedi le Opzioni di Access).

    Uno dei tanti regali di mamma Microsoft...

  9. #9
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    si ma con word?
    Poi ripeto...nella macchina virtuale ho installato il 2010 e funziona benissimo senza impostare nulla!

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    In questo caso, parlo di Access.
    Magari non c'entra niente con il tuo problema, però è questo che avviene ed occorre tenerlo presente perchè alcun caratteristiche interne non funzionano più su Office 2010:
    1) funzioni interne di Access (esempio Round) se chiamate da una query
    2) le stored procedure del database non sono tutte accessibili

    E comunque la sola cosa da fare è 'sindacare' sul PC del cliente per capire dove sia il problema.

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.