aprire disegni



  • aprire disegni
    di kaigoo1966 data: 02/04/2016 15:42:34

    Buongiorno.

    Con passaggio da excel 2003 al 2010

    Errore runtime 445
    Azione non valida per l' oggetto

    se non ho capito male il problema è che 2010 non supporta più il Application.Filesearch
    come posso aggirare il problema.

    Grazie
     
    '' # SubRoutine per l' apertura dei disegni
    Private Sub CmdApriDisegni_Click()
    
        Dim NomeFile As String
        Dim X
        X = TextBox12.Text
        
        If TextBox12 = "" Then
        MsgBox "La cella del codice DISEGNO è vuota"
        Exit Sub
        End If
    
    '' Assegnazione alla variabile "fs" del metodo di ricerca
        Set fs = Application.FileSearch
    '' Con la variabile "fs"
        With fs
    '' Cerca nel percorso dei disegni in pdf
        .LookIn = PercorsoFilePDF
    '' Cerca il disegno che si trova nella TextBox
        .Filename = X & ".pdf"
    '' Se eseguendo la ricerca trovi il file (execute sarà 1, quindi 'maggiore di zero), aprire il disegno e chiudere UserForm
        If .Execute() > 0 Then
        NomeFile = PercorsoFilePDF & X & ".pdf"
        Call ExecutiveFile(NomeFile)
        Unload Me
        Else
    '' Altrimenti avvisi con questo messaggio:
        MsgBox "Disegno non trovato."
        End If
        End With
    ''    Set fs = Nothing
    
        End Sub
    
    '' # SubRoutine per apertura programma PDF predefinito
    
    Public Sub ExecutiveFile(FilePath As String)
    
        On Error GoTo error
    
        Dim ret As Integer
    
        ret = Shell("rundll32.exe url.dll, FileProtocolHandler " & (FilePath))
    
        Exit Sub
    
    error:
        MsgBox Err.Description, vbExclamation, "Errore"
    
    End Sub



  • di patel data: 02/04/2016 16:18:23

    io apro i pdf così
     
    Sub openpdf()
    strPath = "F:Downloadpippo.pdf"
    ThisWorkbook.FollowHyperlink strPath
    End Sub






  • di kaigoo1966 data: 03/04/2016 06:50:34

    Gazie Patel,
    ma utilizzo una struttura come quella perchè quando non trova il disegno
    mi da un messaggio di disegno mancante. anche io utilizzavo un' altro sistema per
    l' apertura dei file, ma quello che ho postato è il migliore che ho trovato x excel2003
    excel2010 non me lo riconosce ...



  • di patel data: 03/04/2016 08:52:09

    io non discuto la struttura della tua macro, basta che tu sostituisca la Public Sub ExecutiveFile(FilePath As String) con questa
     
    Public Sub ExecutiveFile(FilePath As String)
        On Error GoTo error
        ThisWorkbook.FollowHyperlink FilePath
        Exit Sub
    error:
        MsgBox Err.Description, vbExclamation, "Errore"
    End Sub






  • di kaigoo1966 data: 03/04/2016 17:33:46

    Ciao Patel
    scusami ancora ma come già detto non è la subroutine
    Public Sub ExecutiveFile(FilePath As String)
    che non funziona (ho provato la anche la tua)
    il programma si blocca qui
    '' Assegnazione alla variabile "fs" del metodo di ricerca
    Set fs = Application.FileSearch
    e se dalle mie ricerche fatte Application.FileSearch per excel 2010 non è più supportato
    (io utilizzo anche excel 2003 e il programma funziona correttamente)
    consigliano di utilizzare Dir al posto dell' Application.FileSearch, ma come ??

    Grazie ancora



  • di patel data: 03/04/2016 19:18:55

    scusami, non avevo letto attentamente
     
    Private Sub CmdApriDisegni_Click()
        Dim fname As String
        Dim X
        X = TextBox12.Text
        If X = "" Then
          MsgBox "La cella del codice DISEGNO è vuota"
          Exit Sub
        End If
        fname = "percorso" & X & ".pdf"
        If Dir(fname) <> "" Then
           Call ExecutiveFile(fname)
           Unload Me
        Else
           MsgBox "Disegno non trovato."
        End If
    End Sub






  • di kaigoo1966 data: 03/04/2016 20:30:23

    Patel grazie mille subroutine è perfetta