vblogo

Programmare con Microsoft Visual Basic 6

Google
nel sito web
Introduzione
Form
Control
Oggetti
Input
Menu
Array
Visualizzazione stampa
Report
File
Errori
Clipboard
DDE
OLE
Database
Sql
Download
Bibliografia

 

 

CHE COS'E' OLE

OLE sta per Object Linking and Embedded ed é un sistema che permette a Visual Basic di condividere dati con altre applicazioni Windows, per esempio é possibile includere un foglio di Excel, o un documento di WinWord o un grafico generato da un'altra applic azione in un form. Per farlo ho bisogno, supponendo di voler utilizzare un foglio excel, di inserire il control OLE in un form, dimensionato secondo le esigenze e valorizzare alcune proprietà di OLE per avere direttamente il foglio excel desiderato. Con u n click nel control OLE, viene aperto Excel per l'inserimento dei dati: terminata questa fase i valori inseriti nel foglio Excel saranno visualizzati nel control OLE direttamente nel form.

CREAZIONE DI LINK OBJECT

Ole linking permette di creare un foglio excel usando excel, di compiere delle variazioni e una volta salvato su disco di trasferire i dati nell'oggetto Ole presente in Visual Basic. Al posto di Excel si poteva usa una qualsiasi altra applicazione in grado di usare Ole. Per fare ciò bisogna: inserire un control Ole in un form ed impostarlo come:

selezionare come tipo oggetto Microsoft Excel Worksheet

selezionare creazione da file indicando il file Excel da usare

selezionare Ole Linking

confermare il tutto Quando l'applicazione VB é attiva, con un doppio click sul foglio creato con Ole, apriamo Excel che automaticamente mostrerà il contenuto del file inserito nelle proprietà Ole; possiamo fare tutte le variazioni che vogliamo. Alla fine salviamo su disco qua nto fatto e chiudiamo Excel; tutti i dati inseriti sono ora anche nel foglio creato con Ole in Visual Basic. Notare che per fare tutto ciò non é stata digitata alcuna istruzione.

PROPRIETA' DI OLE

I valori all e proprietà di Ole si possono sia in creazione dell'applicazione come fatto in precedenza col foglio di excel, sia run-time durante cioé l'esecuzione dell'applicazione VB. Per usare Ole run-time, bisogna assegnare alle proprietà Ole i valori che in desi gn time venivano assegnati automaticamente. Le proprietà di Ole sono: Class OleTypeAllowed SourceDoc e SourcItem Action

Class

serve per stabilire che tipo di oggetto si debba usare se un foglio Excel, ad esempio o un documento WinWord. Esempio: assegnazione ad Ole di un foglio Excel

ole1.Class = "ExcelWorkSheet"
OleTypeAllowed

indica che tipo di Ole si vuole utilizzare: Linking, Embedded o entrambe. I valori sono delle costanti che sono

OLE_LINKED
OLE_EMBEDDED
OLE_EITHER
SourceDoc

identifica il file dell'applicazione che si vuole usare: se uso Excel dovrà dichiare di usare un file di tipo XLS.

SourceItem

identifica invece il dato del documento da considerare; nel caso di un foglio excel saranno le coordinate di una cella. Esempi di assegnazione sourceDoc e sourceItem

ole1.sourceDoc = "PROVA.XLS"
ole1.sourceItem = "R5C6"
Action

serve a specificare il tipo di azione da compiere con ole come creare, o cancellare un oggetto In questo esempio viene creato un Ole run-time includendo un foglio excel.

sub cmdCrea_click()
ole1.class = "ExcelWorkSheet"
ole1.SourceDoc = "PROVA.XLS"
ole1.SourceItem = "R6C5"
ole1.Action = OLE_CREATE_LINK 'é una costante
end sub

Posso cambiare il sourceItem per accedere a nuovi dati ma devo però ricreare un nuovo link: con i dati dell'esempio precedente, per cambiare le celle di excel le istruzioni sono:

sub cmdCambia_click()
ole1.SourceItem = "R6C5:R9C14" 'ho usato un range di celle
ole1.Action = OLE_CREATE_LINK
end sub
 

OLE AUTOMATION

Ole automation permette a Visual Basic di usare i comandi e le funzioni di un'altra applicazione: in pratica é possibile programmare Excel o WinWord da Visual Basic. Per farlo bisogna conoscere però gli oggetti ed i metodi dell'applicazione chiamata e quin di richiede un certo studio e conoscenza dell'applicazione che s'intende utilizzare. In pratica Ole Automation funziona così: si prende il control OLE2 e lo piazza in un form run-time si crea un oggetto per l'applicazione voluta si usa l'oggetto create per le operazioni da compiere Esempio: come utilizzare l'applicazione calculator che supporta OLE in Visual Basic per compiere delle semplici operazioni 'da inserire nelle declaration de l form dim calc as object

sub cmd1_click()
set calc = CreateObject("dispcalc.ccalc") 'attiva oggetto calcolatrice
end sub
 

cmd calcola_click()

calc.op = cboOperazione.listindex + 1 ' scelta del tipo di operazione tra quelli presenti nella combo
calc.accum = val(txt1.Text) ' copia valore del primo numero
calc.Opnd = val(txt2.Text) ' copia valore del secondo numero
calc.eval ' calcola
calc.display ' mostra risultato
lblResult.caption = calc.Accum ' copia risultato nella label

end sub

 

DataRegion

Copyright @ 2007 Vince