Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
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
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: 6308
[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: 6308
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: 6308
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: 6308
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: 6308
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: 6308
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


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
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...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
Rigetti supera la soglia dei 100 qubit: ...
eFootball raggiunge il miliardo di downl...
Come provare OpenClaw facilmente grazie ...
Microsoft conferma: questo glitch dell'o...
Toyota bZ7: una berlina da oltre 5 metri...
Artemis II, le prime foto del lato nasco...
Sempre più pubblicità su YouTube: arriva...
Polestar fa +80% in Italia e tocca quota...
Il tuo Mac smette di connettersi a Inter...
La nuova alleanza Intel-Google ridefinis...
Energia troppo cara, regole da rivedere:...
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: 23:37.


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