Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-11-2008, 14:58   #1
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6307
[VB6] Attendere Excel

Ciao, sto sviluppando con VB6 un'applicazione che crea e popola dei fogli XLS, e fin qui, tutto ok....vorrei però fare in modo che l'utente possa decidere di aprire il file XLS prodotto in Excel, modificarlo, salvarlo, chiuderlo mentre la mia applicazione "attende" in background che finisca queste operazioni e intervenga solo alla chiusura del foglio Excel....è fattibile ?

Altra domanda, mi trovo sempre un processo Excel.exe appeso alla chiusura del mio programma, eppure ogni variabile Excel.Application la setto = nothing!
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2008, 09:24   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Spike79 Guarda i messaggi
Ciao, sto sviluppando con VB6 un'applicazione che crea e popola dei fogli XLS, e fin qui, tutto ok....vorrei però fare in modo che l'utente possa decidere di aprire il file XLS prodotto in Excel, modificarlo, salvarlo, chiuderlo mentre la mia applicazione "attende" in background che finisca queste operazioni e intervenga solo alla chiusura del foglio Excel....è fattibile ?
Cioè hai un ciclo che crea diversi Xls in sequenza, e dopo averne compilato uno, lo lascia aperto in attesa delle eventuali modifiche dell'utente. Se l'utente lo chiude ( salvando o meno le modifiche ) il ciclo continua...
Così ?

Quote:
Originariamente inviato da Spike79 Guarda i messaggi
Altra domanda, mi trovo sempre un processo Excel.exe appeso alla chiusura del mio programma, eppure ogni variabile Excel.Application la setto = nothing!
C'è sicuramente un errore occulto nel tuo codice. Forse apri n istanze, e ne rimane sempre una orfana. Difficile saperlo se non posti il codice.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2008, 17:22   #3
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6307
Beh , più o meno....diciamo, apro un file TXT , leggo dei valori, faccio dei conti, apro un XLS e li inserisco in uno sheet (in caselle precise), chiudo sheet e xls e salvo.
Nel ciclo di lettura può succedere di aprire di nuovo l'xls e creare nuovi sheets.
Io vorrei che al termine del TXT, ossia alla fine della lettura e di tutti i vari salvataggi, l'utente possa confermare di voler modificare il file XLS prodotto, il mio programma dovrà aprire l'xls e 'attendere' che l'utente faccia le sue modifiche, in seguito a ciò (ossia quando l'utente chiuderà Excel), il programma dovrà riprendere il controllo per fare ulteriori calcoli sul file XLS modificato.

Riguardo gli orfani, è probabile, dovrò ricontrollare tutto.
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2008, 09:44   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Io proverei a semplificare il tutto aprendo direttamente il file xls in una Form VB6. In questo modo si può risparmiare molto codice ed evitare i fastidi e gli errori di un continuo dialogo tra VB6 ed Excel...
Dai un'occhiata a questo componente :
Microsoft Office Web Components 11.0

10.0 > Office XP
11.0 > Office 2003 ecc...

La DLL è :
C:\Programmi\File comuni\Microsoft Shared\Web Components\11\OWC11.DLL

A dispetto del nome "Web" è perfetto per le WinForms, e una volta importato aggiunge vari controlli alla ToolBar, tra cui lo "Spreadsheet".

Gestire lo Spreadsheet via codice è semplicissimo :

Codice:
    Dim percorso As String
    percorso = App.Path & "\"
    
    'Carico un workbook:
    Spreadsheet1.XMLURL = percorso & "PROVA.xls"
    
    'Inserisco valori:
    Spreadsheet1.Sheets("Foglio1").Range("A1") = "PROVA1"
    Spreadsheet1.Sheets("Foglio2").Range("A1") = "PROVA2"
    Spreadsheet1.Sheets("Foglio3").Range("A1") = "PROVA3"
    
    'Salvo il workbook:
    Spreadsheet1.Export percorso & "PROVA.xls", ssExportActionNone, ssExportAsAppropriate
A questo punto l'utente potrebbe modificare il workbook direttamente dalla Form, e fare Click su un pulsante, confermando che ha finito di apportare le modifiche... problema risolto.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2008, 10:09   #5
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6307
Fantastico, appena ci rimetto sopra le mani mi ci fiondo....però una domanda mi sorge spontanea...e per distribuirlo ? Se l'utente ha Office 2007 o Office 2003 o addirittura Office 2000, può succedere qualcosa ?
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2008, 10:29   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Spike79 Guarda i messaggi
Fantastico, appena ci rimetto sopra le mani mi ci fiondo....però una domanda mi sorge spontanea...e per distribuirlo ? Se l'utente ha Office 2007 o Office 2003 o addirittura Office 2000, può succedere qualcosa ?
Se prevedi di distribuirlo per tutte le versioni di Office, è possibile che ad esempio OWC11.DLL, distribuito con il programma, gestisca anche i file excel di tutte le versioni precedenti alla 2003.
Penso proprio che sia così, anche se non te lo posso "giurare".
Per Excel 2007 il discorso è diverso, perchè lì cambia proprio il formato del file. Sarà necessario avere OWC12.DLL.

La cosa migliore ? Anzichè smazzarsi un'unica gestione centralizzata di TUTTE le versioni di Office, meglio accordarsi col cliente su quale sia la sua, e fare diverse versioni del programma...

E comunque, meglio evitare Office '97 e precedenti !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2008, 10:47   #7
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6307
Uhm...sto provando ma non riesco a fargli caricare il mio foglio, dice che non è un foglio dati XML....eppure è un banale XLS...
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2008, 14:02   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Spike79 Guarda i messaggi
Uhm...sto provando ma non riesco a fargli caricare il mio foglio, dice che non è un foglio dati XML....eppure è un banale XLS...
Usi Office 2007 per caso ? A me con Excel 2003 ( OWC11.DLL ) funziona normalmente...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2008, 14:34   #9
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6307
No, Office 2003, e appena apro il mio file, col comando che mi hai dato (Spreadsheet1.XMLURL = percorso & "PROVA.xls"), si incricca e dà quell'errore.

"Il documento non è un file XML corretto"
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2008, 09:13   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Spike79 Guarda i messaggi
No, Office 2003, e appena apro il mio file, col comando che mi hai dato (Spreadsheet1.XMLURL = percorso & "PROVA.xls"), si incricca e dà quell'errore.

"Il documento non è un file XML corretto"
Purtroppo temo sia il limite del controllo ( non mi dava errore perchè nella mia prova salvavo come "foglio di calcolo XML" pur mantenendo l'estensione "xls" ).
Se, come penso, non ti va di convertire i tuoi books xls in fogli di calcolo Xml ( manterresti i dati e la suddivisione in fogli, ma eventuali formule e macro andrebbero perse ), rimane l'embedding tramite OLE Container ( da provare, anche se personalmente non è che mi faccia impazzire... ), oppure tornare a gestire Excel da VB6, ma senza vedere un esempio del tuo codice non sono in grado...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2008, 10:54   #11
Spike79
Senior Member
 
L'Avatar di Spike79
 
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 6307
Gentilissimo, grazie.

Allora, il programma potrebbe anche salvare in XML (mantenendo XLS come estensione), tanto il file lo creo/salvo IO partendo da una base fissa vuota (popolo dei fogli, e salvo con un altro nome)....proverò anche questa strada.
__________________
AMD Ryzen 5 7600X - Dissipatore Thermalright Assassin King 120SE - RAM Kingston Fury Beast 2x16Gb DDR5 CL30 @ 6000 - Motherboard ASROCK B650 Pro RS - NVME Kingston KC3000 2Tb - PSU FSP Hydro PRO 600w - Win 11 PRO
Spike79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2008, 12:55   #12
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Spike79 Guarda i messaggi
Gentilissimo, grazie.

Allora, il programma potrebbe anche salvare in XML (mantenendo XLS come estensione), tanto il file lo creo/salvo IO partendo da una base fissa vuota (popolo dei fogli, e salvo con un altro nome)....proverò anche questa strada.
Perfetto allora.
Puoi usare tranquillamente il controllo SpreadSheet, come ti avevo suggerito.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Roscosmos aggiorna le tempistiche per la...
Confermato il ritardo delle missioni rob...
L'Intelligenza Artificiale ora può...
Il data center del futuro secondo Huawei...
Spesa a domicilio senza conducente: robo...
Satoshi Nakamoto ha finalmente un volto?...
La Corea del Sud taglia fuori i bus elet...
GoPro taglia ancora: licenziato il 23% d...
Muse S Athena: la fascia che ti legge ne...
PS5 Pro e PSSR 2.0: tutti i giochi compa...
Dimensity 9600 Pro promette prestazioni ...
BMW i7 2026 adotta celle cilindriche Gen...
Cyberpunk 2077 si aggiorna su PS5 Pro co...
Valve porta Steam Link su Vision Pro per...
Google Maps: ufficiali 3 novità c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v