PDA

View Full Version : Visual Basic e Excel


leon84
27-01-2003, 14:17
Inserisco su di un form il controllo del foglio elettronico Excel . Ora volgio riportare in una casella di testo , il valore contenuto all'interno di una casella del foglio elettronico . Come si fa ?

soalle
27-01-2003, 18:12
Prova a fare una ricerchina sul forum... ;)

http://forum.hwupgrade.it/viewtopic.php?t=378773

Ciaociao
Soalle

leon84
27-01-2003, 19:56
Originally posted by "soalle"

Prova a fare una ricerchina sul forum... ;)

http://forum.hwupgrade.it/viewtopic.php?t=378773

Ciaociao
Soalle
Ma l'Xsheet dove si dichiara .

soalle
27-01-2003, 20:10
in che senso???

leon84
27-01-2003, 20:32
Originally posted by "soalle"

in che senso???

Ho letto l'altro thread . A me non interessa effettuare la scansione dell'intera colonna , ma semplicemente leggere ad esempio il contenuto della cella A2 e riversarlo in una textbox . Prima ho visto una istruzione del tipo Xsheet.cell o qualcosa del genere

soalle
28-01-2003, 10:13
Premettendo che non conosco VB... dovrebbe essere qualcosa del genere:

MsgBox(xlApp.Sheets(1).Cells(2,1).Value)

leon84
28-01-2003, 14:17
Originally posted by "soalle"

Premettendo che non conosco VB... dovrebbe essere qualcosa del genere:

MsgBox(xlApp.Sheets(1).Cells(2,1).Value)

OK ora provo e ti faccio sapere

leon84
28-01-2003, 14:24
Mi dice che l'oggetto Xlapp non lo vede . Ma da dove viene fuori ? Dove lo si dichiara ?

leon84
28-01-2003, 20:54
Allora qualcuno mi aiuta ?

StefanoCsl
30-01-2003, 15:21
Facci capire, tu hai inserito una griglia all'interno del form oppure hai utilizzato semploicemente l'oggetto Excel (e quindi hai una sessione di Excel aperta)?

leon84
30-01-2003, 17:13
Originally posted by "StefanoCsl"

Facci capire, tu hai inserito una griglia all'interno del form oppure hai utilizzato semploicemente l'oggetto Excel (e quindi hai una sessione di Excel aperta)?

Ho utilizzato l'oggetto Sheet . Quando lo utilizzo il menù della mia applicazione diventa quello di Excel . Ora non so dirti con precisione . Cmq l'ogetto si chiama Sheet . L'ho inserito andando su componenti col tasto destro sulla barra degli strumenti . Poi ho selezionato "Foglio di Excel" .

StefanoCsl
31-01-2003, 00:51
L'oggetto "sheet" non lo conosco, cmq per far dialogare VB ed Excel e leggere una cella faccio così:

MsgBox = ExcelSheet.Application.Cells(riga, colonna).Value

Dove:

- ExcelSheet è definita OBJECT e le associo l'oggetto "Excel" con la CreateObject
- Riga è il numero della riga (partendo da 0 per la prima riga)
- Colonna è il numero della colonna (partendo da 0 per la seconda colonna)

Prova a fare così oppure dimmi dove trovo l'oggetto "Sheet" e che SP hai.

leon84
31-01-2003, 14:07
Originally posted by "StefanoCsl"

L'oggetto "sheet" non lo conosco, cmq per far dialogare VB ed Excel e leggere una cella faccio così:

MsgBox = ExcelSheet.Application.Cells(riga, colonna).Value

Dove:

- ExcelSheet è definita OBJECT e le associo l'oggetto "Excel" con la CreateObject
- Riga è il numero della riga (partendo da 0 per la prima riga)
- Colonna è il numero della colonna (partendo da 0 per la seconda colonna)

Prova a fare così oppure dimmi dove trovo l'oggetto "Sheet" e che SP hai.

Il sistema operativo è Win XP . Ma funziona anche con 98 ed Me . Cmq l'oggetto lo trovi facendo clic con il tasto destro del mouse sulla casella degli strumenti . Poi clicca su componenti ed in oggetti inseribili c'è il foglio elettronico

StefanoCsl
31-01-2003, 14:40
Non mi hai capito, non voglio sapere il SO (sistema operativo), ma il SP (Service Pack) di Visual Basic. Lo vedi facendo click sul "?" dal menu e selezionando "Informazioni su Microsoft Visual Basic". Io non riesco a trovare questo oggetto.

Altra cosa, fammi sapere se è un componente oppure un riferimento.

leon84
31-01-2003, 15:37
Originally posted by "StefanoCsl"

Non mi hai capito, non voglio sapere il SO (sistema operativo), ma il SP (Service Pack) di Visual Basic. Lo vedi facendo click sul "?" dal menu e selezionando "Informazioni su Microsoft Visual Basic". Io non riesco a trovare questo oggetto.

Altra cosa, fammi sapere se è un componente oppure un riferimento.

Non riesco a trovare l'informazione SP che cercavi . CMQ utilizzo Visual Basic 6.0 , e l'unica informazione che vedo è che la versione mi segna la 8176 . Quando a quel componente ti ho già detto prima dove reperirlo . Si tratta di componenti non riferimenti . Scusa ma Office ce l'hai installato ? Se non lo installi non ti esce questo controllo

StefanoCsl
31-01-2003, 19:52
Io ho la versione 8988, quindi successiva alla tua, ma io volevo sapere il service pack (io ho il 5), se non lo trovi evidentemente non ce l'hai. Cmq mi dispiace ma continuo a non trovare quel componente, sicuro di non averlo installato a parte? Io ho (ovviamente) Office, tra l'altro la versione XP.

Dimmi il nome preciso del componente ed il file .OCX o .DLL a cui fa riferimento (lo vedi sotto la lista dove è scritto "Percorso:"), così potrò aiutarti. Intanto prova la stringa che ti ho mandato.

Stefano

leon84
31-01-2003, 20:07
Originally posted by "StefanoCsl"

Io ho la versione 8988, quindi successiva alla tua, ma io volevo sapere il service pack (io ho il 5), se non lo trovi evidentemente non ce l'hai. Cmq mi dispiace ma continuo a non trovare quel componente, sicuro di non averlo installato a parte? Io ho (ovviamente) Office, tra l'altro la versione XP.

Dimmi il nome preciso del componente ed il file .OCX o .DLL a cui fa riferimento (lo vedi sotto la lista dove è scritto "Percorso:"), così potrò aiutarti. Intanto prova la stringa che ti ho mandato.

Stefano

Non si tratta di una DLL o OCX . Infatti quando evidenzio il controllo sheet mi esce il percorso ed il nome Excel.exe . Ora ti mostro la finestra dove seleziono il controllo .

StefanoCsl
31-01-2003, 20:11
:eek:
In pratica hai incluso un documento Excel nel programma VB, non hai messo un oggetto!

Dovrebbe funzionare come ti avevo scritto io allora, ho sempre tenuto excel fuori dal programma VB ma il procedimento deve essere lo stesso

leon84
31-01-2003, 20:18
Originally posted by "StefanoCsl"

:eek:
In pratica hai incluso un documento Excel nel programma VB, non hai messo un oggetto!

Dovrebbe funzionare come ti avevo scritto io allora, ho sempre tenuto excel fuori dal programma VB ma il procedimento deve essere lo stesso

Si scusa ma non dovrei prima dichiararlo l'oggetto ExcelApplication ? Se si come ?

StefanoCsl
31-01-2003, 20:36
Se è un oggetto non lo devi dichiarare, imposti il nome dalle proprietà poi controlla se esiste la proprietà "application", se si procedi così:

[NomeOggetto].Application.Cells([riga], [colonna]).Value

Dove:
[NomeOggetto] : NOme che hai dato all'oggetto
[riga] : riga da leggere (0 prima riga)
[colonna] : colonna da leggere (0 prima colonna)

Spero che funzioni così

leon84
01-02-2003, 14:02
Originally posted by "StefanoCsl"

Se è un oggetto non lo devi dichiarare, imposti il nome dalle proprietà poi controlla se esiste la proprietà "application", se si procedi così:

[NomeOggetto].Application.Cells([riga], [colonna]).Value

Dove:
[NomeOggetto] : NOme che hai dato all'oggetto
[riga] : riga da leggere (0 prima riga)
[colonna] : colonna da leggere (0 prima colonna)

Spero che funzioni così

No , no esiste la proprietà application .

StefanoCsl
01-02-2003, 14:29
Sono riuscito a mettere il Foglio Excel dentro il programma VB.

Fammi capire una cosa, a te serve vedere la cartella di lavoro all'interno del programma o no?

Perché se non ti serve vederla puoi aprire una sessione di Excel fuori dal programma.

Stefano

leon84
01-02-2003, 14:35
Originally posted by "StefanoCsl"

Sono riuscito a mettere il Foglio Excel dentro il programma VB.

Fammi capire una cosa, a te serve vedere la cartella di lavoro all'interno del programma o no?

Perché se non ti serve vederla puoi aprire una sessione di Excel fuori dal programma.

Stefano

No mi interessa vedere la sessione Excel all'interno del programma .

StefanoCsl
01-02-2003, 15:03
Da quello che ho capito non si può gestire il foglio excel mettendolo come fai tu. Io non ho mai fatto così e con il mio lavoro mi è capitato moltissime volte di gestire Word ed Excel da VB, ma sempre come applicazioni esterne.

Se invece di gestirlo per fare calcoli ti serve solo per visualizzare dati, non sarebbe meglio usare un oggetto tipo Grid o FlexGrid?

Stefano