Newsgroup: it.comp.lang.visual-basic
Titolo: dubbio su installazione

ho un dubbio.
se un prog VB si serve, per gestire un database, di excel, e quindi ha tra i
riferimenti EXCEL9.OLB, questo file va inserito nel pacchetto di
installazione? e se il pacchetto cerca di installare il tutto su un computer
che ha una versione diversa di excel? che succede?
mario

 wrote in message
news:R2O56.12155$jT6.5...@twister2.tin.it...

So' k@##i !
Ciao
Aldo


cosa??!!??!!??!!??!!??!!??!!??!!??!!
ommioddio!!!!!!!!!!
noooooooooooooooooooooooooooo!!!!!!!!!!!
dici davvero...??????? dai dimmi quello che sai... qui è una tragedia...
come si fa????????????
mario


vorrei notare una cosa. un oceano di gente ha ancora excel 1997, e quindi
non ha EXCEL9.OLB. se faccio unprog che utilizza Excel, č veramente assurdo
che il 70-80% dei potenziali utenti finali non lo possa utilizzare... ma vi
rendete conto?? dai, come la risolvo questa cosa...?? non ho distribuito
manco un programma finora, questo era il primo, eccheccavolo perň...!!!!!!!
mario

 ho un dubbio.
Ma... guarda; io direi di no.
excel9.olb penso che contenga solo le definizioni dei metodi e degli
oggetti, infatti se sostituisci ai vari Excel.Application (quelli dei Dim)
dei normalissimi as Object, il tuo programma dovrebbe andare bene ugualmente
e togli la dipendenza dal .OLB, io non sapevo fino a pochi giorni fa che
c'era e mi connettevo ugualmente ai .XLS (in VB è facilissimo, mentre col
C++ builder divendo matto, non ci salto fuori... sigh!).
Penso che in quel .olb ci siano solo delle definizioni utili a livello di
sorgente, poi tutti quelli oggetti sono comunque gestiti come dei puntatori
ad un oggetto.
Non dovrebbero essere inclusi.
Però l'ultima volta che mi sono fidato della microsoft.... è finita male!
Ciao.

 ha scritto

parere molto personale (quindi perfettamente non condivisibile), stretto
parente di quello su ocx's ecc.:
e' abbastanza suicida fare un programma non mirato a un pubblico specifico
che richieda la presenza _obbligatoria_ di altri programmi, fosse pure
quelli che si danno per scontati (ie, office. winamp...).
shellexecute serve proprio a far si' che se uno ha netscape possa usare
quello in santa pace. che poi i win senza ie si contino sulle dita di una
mano, altro discorso.
sulle mie macchine ho office2000, ma ai colleghi continuo a mettere
sistematicamente il 97 anche se ora posso prendere solo licenze 2000,
perche' se metto il 2k a uno lo vogliono tutti. cosi' poi mi tocca comprare
un altro fottio di licenze del 2000, del tutto inutili per il 99.9% delle
funzionalita', e buttare quelle 97, che non e' che me le avessero regalate.
anzi, francamente, visto che quasi nessuno di loro usa access, sto
seriamente prendendo in considerazione l'idea di staroffice...
stessa cosa per winamp & co.: preferisco fare shellexecute di un mid che
shell di winamp: e se uno non ce l'ha e sta benissimo con mp, che deve fare,
installare winamp per forza? e al limite il discorso puo' valere anche per
notepad: io personalmente uso editplus, che sta in tutt'altra dir. potrei
anche averlo tolto, notepad, cosa che anzi con w9 facevo quasi
sistematicamente, tanto mi da' il nervoso la finestrella "file troppo lungo:
usare wordpad?"...
il discorso cambia completamente se si sa _chi_ usera' il programma. o se si
possono contrattare i requisiti, e piazzarci dentro excel2000. ma -- anche
in questo caso -- se qualcuno mi dicesse che devo comprarne 80-100 copie,
temo che il mio interesse per il suo programma scemerebbe velocemente.
ripeto: parere personale, ovviamente...
ciao, a.

 però...!!!!!!!


oddio, mi hai messo una confusione... ::))))))
questo programma che sto facendo dovrebbe essere allegato a una rivista, e
sopra ci si dovrebbe scrivere "funziona con Win 95 e Win 98" non so ancora
se funziona con WinNT...
ora, per usare da VB le librerie di Excel c'è bisogno (credo) soltanto del
file Excel9.olb, visto che non devo aprire excel, ma solo eseguire alcune
operazioni di lettura/scrittura su celle.
in pratica dovrei fare due programmi, uno che funzioni con excel9.olb e uno
con Excel 7-8, e chi hala versione precedente si frega.. piu o meno.
mettiamo che uno non abbia Office, ma solo Win98. se io gli allego
Excel9.olb al pacchetto di installazione, ho bisogno di qualche licenza
particolare, anche se lui cmq continuerà a NON avere Excel, e non saprà
neanche che io uso Excel di nascosto per leggere/scrivere i dati? (aihmè,
temo di sì...)
sto incasinatissimo...
mario

no aspetta... non ho capito benissimo... sei sicuro di quello che dici?
cioè, ad es., io ho, in un modulo,
Public xlApp As Excel.Application
Public xlBook As Excel.Workbook
Public xlSheet As Excel.Worksheet
come li dovrei convertire?
ilproblema però è che nel prog io uso roba come Cells, WorksheetFunction,
Match, Max, Find, insomma, metodi e proprietà di Excel...
mario

 wrote in message
X9Y56.12435$jT6.5...@twister2.tin.it...

ulteriore dubbio... se faccio 2-3 versioni del prog (una per ogni Excel 7 -
8 - 9), poi il file Olb lo devo allegare, o devo dire all'utente "per usare
questo prog hai biogno di aver installato Excel 7 8 o 9"?
ma vi rendete conto di che casino...
uffa

 particolare, 
Piuttosto... Sei sicuro che basti excel9.olb per farlo funzionare 
anche su PC senza excel installato?
-- 
News2000 1.5ß Version 
http://socket2000.8m.com

 Excel9.olb al pacchetto di installazione
secondo me, molto semplicemente, non puoi proprio.



stavo pensando un'altra cosa. se io ad es. faccio un solo pacchetto di
installazione, in cui metto SOLO Excel9.olb, e lui sul computer ci trova un
excel8, mica si incavola? feci una prova quando dovevo dare a un'amico
un'aplicazione scritta in VBA per Excel ma che doveva funzionare con excel.
č ovvio che lui apriva Excel, utilizzava la libreria predefinita su quel
computer che era excel8, e le nuove funzioni presenti in Excel9 se le
scordava. se poi copiavo excel9 nella stessa cartella di excel8, lui
semplicemente lo ignorava.
provai anche a creare un riferimento, nel progetto VBA, ad Excel9, ma non
riuscě... non riuscě perň solo perchč lo facevo DA DENTRO Excel...
se invece lo faccio da fuori, qual č il problema?
un'ultima cosa. Il file excel.olb nonč nč una Dll nč un Ocx. va registrato?
o semplicemente copiato in una qualsiasi directory?
cmq sapete che faccio? mi faccio mandare da un amico Excel7 e 8 e faccio
qualche prova.
anzi, se qualcuno vuole essere cosě gentile da mandarmelo lui... ::)))))
questo č l'indirizzo
kron...@yahoo.com
mario (incrociamo le dita...)


ma perche se no non funziona, o perche senno la MS mi fa un c**o cosě??
che casino... la mia carriera di programmatore č stroncata in partenza...
::))))))
mario

 ::))))))
va da se': la seconda che hai detto...
io pero' non mi abbatterei e la proverei da un altro punto:
vedi se riesci a fare quello che ti serve generando un .csv
(
comma separated values; per intenderci quelli del tipo:
autore;titolo;anno
alighieri;commedia;ante_1321
manzoni;promessi_sposi;1827-1842) (*)
)
chiaro che colori, formattazioni ecc. li butti a mare.
pero' formule ecc. forse puoi gestirle.
forse. lo sai tu.
il csv poi con xl lo si puo' aprire. ma prob anche con access, staroffice,
1-2-3 o come si chiama adesso, ecc.
in alternativa 1, fai fare al tuo programma, via grid di qualche genere,
quello che faresti fare ad excel. non dirmelo: lo so gia' che e' dura. xl e'
uno dei piu' bei sw di casa ms.
in alternativa 2, segna la versione richiesta di excel fra i requisiti.
considera anche che -- di solito -- le versioni piu' recenti hanno tutto
delle precedenti, mentre non vale l'inverso. quindi, dovendo proprio stare
su questa strada, scegli il 97. quelli col 2000 non dovrebbero avere
problemi, che sarebbero senz'altro di piu' se scegli il 2000.
be', come vedi, da un ostacolo ne nascono sempre molti altri. cosi' ci si
apre la mente :))
(*) nota per m.b. e gli altri connoisseurs: please, se la ventisettana o
l'altra sono un qui pro quo, non beccatemi. e' quasi una ventisettina d'anni
che non seguo l'interessante vicenda editoriale fermo + lucia --> sposi
promessi --> promessi sposi :)

Appoggio in parallelo a news gala il parere concorde alla risposta di pal.
Aggiungerei anche (se non viene giudicato OT) anche la scrittura di codice
ASP che genera codice script per il browser: se genera vbs funziona solo con
ie ( e dipende che versione), se genera js funziona anche con netscape
(anche qui dipende che versione e comunque il modello ad oggetti non e'
proprio uguale);
se le impostazioni di sicurezza sul client sono molto restrittive si rischia
anche che la pagina non funzioni.
Ciao
Aldo

 come li dovrei convertire?
Questo mi ricorda un trucco adoperato agli inizi di ado.
Mi referenziavo la libreria per sfruttare l' intellisense nella scrittura
del codice, poi sostituivo l' equivalente di
Public xlApp As Excel.Application
...
Set xlApp = New Excel.Application
con
Public xlApp As Object
...
Set xlApp = CreateObject("Excel.Application")
Il guaio e' che devi stare attendo ad usare le funzionalita' della versione
piu' vecchia.
In questo modo pero' non avresti teoricamente neanche il bisogno di
includere la tua libreria, soprattutto nel caso di XL, perche' deve essere
comunque gia' installato sul client (licenziato o piratato, a questo punto,
non sono problemi tuoi).
Ciao
Aldo

quasi quasi metto Excel8.olb, che dovrebbe essere lalibreria per Excel 1997
(giusto?)
bye
mario

 ha scritto

col 2000 ho la 9, quindi suppongo di si'.
vale pero' quanto detto:
1. specifica che e' richiesto xl.
2. a questo punto prob non ti serve nemmeno la olb.
prova creando un setup senza e installando su un pc con xl, e se puoi su
piu' pc con versioni diverse di xl (possib sempre _senza_ vb a bordo).
ciao, a.

 (*) nota per m.b. e gli altri connoisseurs: please, se la ventisettana o
l'altra sono un qui pro quo, non beccatemi. e' quasi una ventisettina d'anni
che non seguo l'interessante vicenda editoriale fermo + lucia --> sposi
promessi --> promessi sposi :)
Io invece mi leccherei i baffi se qualche naif se ne venisse fuori con un
"ehi pal, guarda che dovevi scrivere *dante_1321*" perche' oggi, inside, mi
sento come Hal.
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 non sono problemi tuoi).
ma come faccio, in questo caso, ad usare, ad es., le funzioni
WorksheetFunction? come le richiamo?
mario

 wrote in message
news:4%666.12796$FF1.8...@twister1.tin.it...

Dichiari *tutto* come object. Si', diventa un po' uno schifo, ti tocca usare
il late binding e gestire dappertutto i possibili errori di tipo di
proprieta' o metodo non trovati.
Quindi:
// controlla la sintassi perche' non conosco bene il modello di oggeti di xl
Dim xlApp As Object
Dim xlRange As Object
Dim answer As Variant        '// in realta' non so bene quale sia il tipo di
dato adatto (vedi tu)
Set xlApp = CreateObject("Excel.Application")
Set xlRange = xlApp.Worksheets("Sheet1").Range("A1:C10")
answer = xlApp.WorksheetFunction.Min(xlRange)
Ciao
Aldo

quasi quasi ci provo, anche se il "late binding" per me è una parolaccia
sconosciuta... ::))))))
mario

installazione
L'unica cosa che puoi provare a fare è:
- ti crei il pacchetto d'installazione.
    questo dovrebbe rivelarti il collegamento col le librerie esterne (.olb)
e impacchettare i files.
- lo provi per sicurezza su un pc nuovo (non sarebbe male avere un piccolo
hd con su solo win9x), non basta che sia un pc con excel DIS-installato.
se l'olb non ha altre dipendenze non c'è bisogno di nessun excel installato
e non importa la ver. di excel eventualmente presente.
Per quanto riguarda la "legalità" della cosa non so proprio, dovresti
leggerti la licenza M$ di excel.
Ciao