Aprire alias tramite VBA



  • Aprire alias tramite VBA
    di Avatar333 data: 11/12/2015 09:53:27

    Buongiorno a tutti,
    recentemente ho sviluppato una sorta di gestionale anche grazie al prezioso aiuto del vostro forum. Ora ho bisogno di implementarne le funzionalità inserendo dei pulsanti che aprono automaticamente altri file correlati (.xlsx e/o .xlsm). Mio malgrado tutti i files, gestionale compreso, sono condivisi tra i vari computer del gruppo di lavoro tramite Dropbox quindi il percorso della cartella in cui risiede ogni file è diverso da computer a computer (xke contiene il nome del computer stesso che è sempre diverso). Ho pensato così di ovviare al problema creando una cartella contenente il gestionale e gli alias (collegamenti) dei vari files in modo tale da poter pescare tramite VBA questi files nella stessa directory del gestionale. La cosa concettualmente funziona ma nella pratica non so come muovermi nel senso che non so quale comando usare e quali riferimenti utilizzare per richiamare ogni singolo file. Non posso neanche mettere i singoli files correlati in quest'ultima cartella xke devono rimanere nelle loro specifiche cartelle.

    Una volta risolto questo problema ne sorge comunque un altro: aprendo un file .xlsm tramite VBA non partono in automatico le macro "Workbook_Open()"... Avete idea su come gestire questo problema?

    Ringrazio in anticipo chiunque volesse darmi una mano
    Cristiano


  • Salvare file
    di gargiu data: 11/12/2015 09:58:27

    Ciao a tutti, dovrei eseguire la seguente operazione. Tramite il codice riportato sotto, eseguo la ricerca di un file. Questo codice, trovato il file mi riporta la stringa del link nella casella di testo TextBox11.
    Vorrei sostituire questa istruzione, salvando il file selezionato, dandogli l'istruzione di salvare il file nella sottocartela in cui sto lavorando con l'istruzione "ThisWorkbook", salvando il file atribuendogli il nome dalla casella di testo "idtext" che mi viene popolata tramite un'altra istruzione.

    Il codice sotto funziona molto bene, ma mi areno quando cerco di sfruttare la variabile "FileSelezionato".

    Nell'attesa di ricevere aiuto dalla comunity vi ringrazio tuttim, aticimpandovi i miei agurui di Buone Feste.
     
    Private Sub CommandButton2_Click()
    Dim fd As FileDialog   'Dichiarazione della variabile "fd" come  FileDialog object.
    Set fd = Application.FileDialog(msoFileDialogFilePicker)   'creiamo l'oggetto FileDialog
    'come finestra di dialogo per le cartelle e lo 'assegniamo alla variabile "fd"
    'Sotto: dichiariamo la variabile "FileSelezionato" che conterrà il "percorso"
    'completo dei files selezionati. Sebbene il percorso sia una 'Stringa la variabile deve
    'essere Variant perché il Ciclo For Each... Next lavora solo con variabili Variant o Objects
    Dim FileSelezionato As Variant
    
    With fd         'Usiamo  l'istruzione With...End With per eseguire una serie di istruzioni  con l'oggetto FileDialog.
    
    'Usiamo il metodo Show per mostrare la dialog box ed usiamo la condizione If
    'per verificare se l'utente ha premuto il pulsante (di azione, 'di conferma) "OK"
    If .Show = -1 Then     'se la condizione si è verificata, allora....
    
    'iniziamo un ciclo For Each Next necessario per scorrere l'insieme dei files che
    'avremo selezionato (e SOLO QUELLI) (la Colletion del 'FileDialogSelectedItems)
    'nella finestra '"Sfoglia" - sarà possibile selezionare anche files non contigui
    'tenendo premuto il tasto 'CTRL (Control) mentre si selezionano i files.
    For Each FileSelezionato In .SelectedItems
    
    ''FileSelezionato è ora una stringa che contiene il path (il percorso) di ogni Item
    '(.In SelectedItems)  selezionato.
    'e per ogni FileSelezionato iniziamo un ciclo interno While..Wend
    'che cerchi la prima cella libera e ci scriva nome e percorso.
    Dim iRow, icol As Integer
    iRow = 2   'inizio la ricerca dalla riga 2 del foglio come esempio
    icol = 1     'e dalla colonna 1 la colonna A
    While Cells(iRow, icol).Value <> ""
    iRow = iRow + 1
    Wend
    TextBox11 = FileSelezionato
    Next FileSelezionato
    
    Else    'se invece l'utente avrà premuto il pulsante annulla, si esce dall'istruzione
    End If
    End With
    
    ' eliminiamo la variabile oggetto dalla memoria
    Set fd = Nothing
    End Sub



  • di patel data: 13/12/2015 17:42:27

    Gargiu, non puoi accodarti ad una discussione altrui, devi crearne una tua con un titolo appropriato, altrimenti non ci si capisce più niente





  • di gargiu data: 13/12/2015 20:51:08

    È stato un errore... non mi ero accorto d'essere in un'altra discussione. Chiedo scusa.