Errore nella funzione GetObject

di il
2 risposte

Errore nella funzione GetObject

Buongiorno a tutti, vi espongo il problema:
nel codice seguente ho utilizzato la funzione GetObject per ottenere un riferimento ad un oggetto fornito da un componente, ma in esecuzione mi da l'errore:
"Il componente Activex non puo creare l'oggetto".
Quale puo' essere la causa e come posso risolvere?
Grazie mille a tutti.

Public Elenco As String, sPath As String, sNome As String, _
       objApp As SolidEdgeFramework.Application, _
       objDft As SolidEdgeDraft.DraftDocument

Private Sub Command1_Click()
Dim n As Integer
With CommonDialog1
  .MaxFileSize = 4096
  .FileName = ""
  .Filter = "All Files|*.*"
  .Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
  .ShowOpen
End With
Elenco = CommonDialog1.FileName
elencofile = Split(Elenco, Chr(0))
sPath = elencofile(0) 'percorso file da convertire
Set objApp = GetObject(, "SolidEdgeFramework.Application")
Set objDft = objApp.ActiveDocument
For n = 1 To UBound(elencofile)
  objDft.SaveAs (elencofile(n) & "Pdf")
Next
End Sub

2 Risposte

  • Re: Errore nella funzione GetObject

    Per cominciare lavori con VB6 o con VBA e se con VBA con quale applicazione? Devi indicarlo sempre.

    In secondo luogo, questa applicazione

    "SolidEdgeFramework.Application"

    è installata nel PC in cui fai girare il programma? E tale programma è attivato?

    Hai provato con

    CreateObject("SolidEdgeFramework.Application")

    ?
  • Re: Errore nella funzione GetObject

    Hai ragione Oregon, scusami, ma nelle fretta ho dimenticato di fare le necessarie precisazioni.
    La routine l'ho scritta in Vb6, il mio obiettivo sarebbe quello di creare un eseguibile che permetta
    di selezionare da una cartella uno o più file .Dft (file di SolidEdge) e convertirli in file .Pdf.
    Facendo delle prove ho visto che nel caso in cui apro il file .Dft con SolidEdge e poi eseguo la mia routine
    il comando funziona e questo va bene per un file, ma se ne volessi selezionare più di uno da convertire,
    devo ogni volta chiudere il precedente e aprire quello dopo?
    Non esiste la possibilità di fare questa conversione mantenendo aperto soltanto il programma principale
    (SolidEdge) e non il file in questione?
    Non ho ancora provato con
    CreateObject("SolidEdgeFramework.Application")
    lo farò sicuramente appena riesco a liberarmi...
    Grazie!!!
Devi accedere o registrarti per scrivere nel forum
2 risposte