Project non apre più un file XML con il metodo Application.OpenXML

Anonimo
2015-09-25T09:18:03+00:00

Ciao a tutti.

Ho scaricato un esempio Microsoft per VBA da utilizzare per aprire file XML del Project (in coda l'esempio che richiede scrrun.dll come riferimento) e ho eseguito i seguenti passi:

  1. Creo un nuovo progetto in Project aggiungendo 1 task e 1 risorsa
  2. Salvo il file nel formato XML
  3. Chiudo il file
  4. Alt+F11 e eseguo la procedura VBA
  5. ERRORE di run-time '1101' - Errore definito dall'applicazione o dall'oggetto

Ho provato anche con un file nuovo e creandolo vuoto senza inserire task o risorse o altro.

Lo stesso codice non funziona su PC diversi e con SO diversi!


Public Sub ApriXML()

    ' Requires reference to the Microsoft Scripting Runtime library (scrrun.dll).

    Dim txtStream As TextStream

    Dim fileName As String

    Dim xmlContents As String

    Dim fsObject As FileSystemObject

    fileName = "C:\testxml\vuoto.xml"

    Set fsObject = CreateObject("Scripting.FileSystemObject")

    If Not fsObject.FileExists(fileName) Then

        MsgBox "The file does not exist: " & vbCrLf & fileName

    Else

        ' Open a text stream.

        Set txtStream = fsObject.OpenTextFile(fileName:=fileName, IOMode:=ForReading)

        xmlContents = txtStream.ReadAll

        Application.OpenXML (xmlContents)

        txtStream.Close

    End If

End Sub

Microsoft 365 e Office
Microsoft 365 e Office

Una suite completa di strumenti di produttività e servizi cloud che migliorano la collaborazione, la comunicazione e l'efficienza. Combinazione di app Office classiche con funzionalità avanzate di Microsoft 365, supporta sia le esigenze personali che aziendali

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

12 risposte

Ordina per: Più utili
  1. Anonimo
    2015-09-25T13:26:35+00:00

    Ci diamo del tu.

    Per il primo codice, io non ho problemi in Project, vedi:

    Ovviamente il file NON deve essere vuoto.

    Il secondo era relativo, come scritto, ad Excel.

    Cosa dovrebbe fare il tuo codice?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-09-25T10:36:10+00:00

    Il codice che mi ha inviato restituisce il medesimo errore 1101 che le ho postato all'inizio.

    Il mio non è un problema di instanziare una dll in Project o leggere un file di testo in una variabile...

    Il mio problema è che quando, IN MICROSOFT PROJECT 2013, eseguo l'istruzione 

    Application.OpenXML(miofileXML)

    compare l'errore 1101.

    Il file che passo alla funzione è quello generato con Project, non alterato in nessun modo e prodotto tramite il pulsante "Salva con nome" in formato XML (se vuole lo posto). 

    Su Microsoft Project 2010 lo stesso codice e la stessa procedura funziona correttamente.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-09-25T10:01:26+00:00

    Senza riferimento (e senza errori):

    Public Sub m()

    On Error GoTo RigaErrore

        Dim objFSO As Object

        Dim objFile As Object

        Dim sTemp As String

        Set objFSO = CreateObject( _

            "Scripting.FileSystemObject")

        Set objFile = objFSO.OpenTextFile( _

            "C:\testxml\vuoto.xml", 1)

        sTemp = objFile.ReadAll

        MsgBox sTemp

    RigaChiusura:

        Set objFSO = Nothing

        Set objFile = Nothing

        Exit Sub

    RigaErrore:

        MsgBox Err.Number & vbNewLine & Err.Description

        Resume RigaChiusura

    End Sub

    E, ad esempio in Excel, è sufficiente:

    Public Sub m()

        Application.Workbooks.OpenXML _

            Filename:="C:\testxml\vuoto.xml", _

            LoadOption:=xlXmlLoadImportToList

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-09-25T09:42:15+00:00

    Chiaramente alla riga con 

    Application.OpenXML (xmlContents)

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-09-25T09:21:30+00:00

    Immaginando tu abbia messo il riferimento, se fai il passo passo (tasto F8), su quale riga scatena l'eccezione?

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento