Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con l'oggetto workbooks

Premesso che sono una schiappa in VB e che devo necessariamente
adattare una macro creata in excel.
Veniamo al dunque.
Quando clicco su un bottone eseguo quest'istruzione:
Workbooks.OpenText Filename:=txtbox1.Value,.....ecc
nomefile = ActiveWorkbook.Name
La textbox1 e' dove vado a scrivere il percorso del file che voglio
aprire per  elaborare.
Nella variabile nomefile c'e' il nome del file
In un altra sezione del codice devo selezionare il workbooks
precedentemente creato ma le seguenti istruzioni non funzionano.
Chi mi aiuta?
Grazie!
Workbooks(nomefile).Worksheets(nomefile).Select
Workbooks("nomefile").Worksheets("nomefile").Select

 ha scritto nel messaggio
news:rlgptv4gsi072f9gn...@4ax.com...

Ciao, Dario.
    Un esempio:
        Dim objXlApp              As Excel.Application
        Dim objXlWbkIlNomeCheVuoi As Excel.Workbook
        Set objXlApp = ...
        objXlApp.Workbooks.OpenText OpenText
Filename:=txtbox1.Value,.....ecc
        Set objXlWbkIlNomeCheVuoi = objXlApp.ActiveWorkbook
        objXlWbkIlNomeCheVuoi.Worksheets(1).Select
        Debug.Print objXlWbkIlNomeCheVuoi.Name
        ...
        Set objXlWbkIlNomeCheVuoi = Nothing
        Set objXlApp = Nothing
-- 
    (Facci sapere se ed eventualmente come hai risolto. Grazie.)
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------

 Maurizio Borrelli, Microsoft MVP Access
Ben rivisto :-)
Bye, G.

 Ben rivisto :-)
    Ciao, belli. :-) Io vi vedo tutti, quasi tutti i giorni (bugia!) ma le
sole 24 ore che c'ho mi van sempre piu strette. Come spero di voi.
-- 
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------

        Set objXlApp = Nothing
Non ci sono riuscito dopo mille tentativi!
Voglio precisare che sto lavorando con il VB dell'excel.
Provo a riproporre la domanda
L'istruzione vecchia che funziona e':
Workbooks("nome del file.prn").Worksheets("nome del file.prn").Select
Al posto di selezionare un workbooks con un nome  ben preciso voglio
selezionarne uno con un nome che ho inserito io in una textbox.
Ho provato cosi':
mionome= textbox1.value
Workbooks(mionome).Worksheets(mionome).Select
Ma non funziona!

E' semplice, non devi fare riferimento al nome ma all'oggetto workbook.
Mi spiego meglio e, secondo me, dovresti fare così:
1. dichiara una variabile all'inizio tipo Dim miofoglio as new workbook
oppure dim mio foglio as workbook se la vuoi creare esplicitamente ( in tal
caso nella funzione devi crearla con set miofoglio = new workbook )
2. Apri il file come già sai fare (Workbook.open (nome file) o qualche cosa
del genere con mio foglio, cioè miofoglio.open....eccetera
3. ogni volta che devi lavorare con quel workbook usa miofoglio per indicare
proprio quello aperto precedentemente
(miofoglio.Worksheets(1).range...eccetera)
4. quando hai finito di lavorare sul quel foglio chiudilo e salvalo e alla
fine distruggi la variable (che occupa memoria)  con set miofoglio =
nothing.
5. buon lavoro

 ha scritto nel messaggio
news:dtmqtvc0hgsciogfn...@4ax.com...

Inoltre, aggiungo : Non puoi fare riferimento al foglio mionome se non
esiste mionome deve essere il nome di un foglio esistente del workbook ad
esempio foglio1 (Default) semmai dovresti aprire il workbook (leggi file)
mio nome, aggiungere 1 foglio workbook.worksheets.add e rinominarlo come
vuoi. Cerca nella guida in linea come rinominatre, aggiungere, affettare e
sminuzzare .... :)

 voi.
Ventiquattro ? Vuoi dire che _TU NE HAI VENTIQUATTRO_ ? =:-/
Un Paperino "chi si è fregato le 5 o 6 che mancano a me ?".