Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-02-2010, 08:52   #1
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
[Excel vba] problema comm32

in excel2007 vado in macro, metto il nome macro e poi crea, mi si apre il visual basic, vado in inserisci useform, mi appare la schermata a questo punto prendo dai controlli il mscomm l'icona del telefono e la porto nella useform, e mi appar eil messaggio di errore, il soggetto non è autorizzato a eseguire l'operazione specificata. perchè ?
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2010, 10:05   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Strano, ho provato proprio ora con una UserForm di Excel 2003 senza alcun problema. Il controllo che ho usato è un "Microsoft Communication Control version 6.0", ossia :
C:\WINDOWS\system32\MSCOMM32.OCX
Vedi di trovare l'esatto nome del componente che crea problemi...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2010, 10:13   #3
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
proprio quello !
ho provato a fare un foglio nuovo di excel e poi creare la macro e ottengo lo stesso risultato non mi permette di usare il mscomm32

ho anche provato a registrarlo con regsvr32 c:\windows\system32\mscomm32.ocx
mi dice che è registrato correttamente ma poi non funziona.

non è che c'è una incompatibilità tra excel 2007 e visual basic 6 ?
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2010, 11:37   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Scalor Guarda i messaggi
non è che c'è una incompatibilità tra excel 2007 e visual basic 6 ?
Excel 2007 non l'ho mai usato seriamente. Al 90% ho sempre usato Excel 2003, che per varie ragioni ritengo ancora oggi il migliore di tutti.
Mi sembra si possano escludere incompatibilità con le DLL installate dall'environment di VB6, se è ciò che intendi. Ho usato spesso DLL e OCX di VB6 in Excel senza problemi.
Forse hai fatto di recente qualche bel Windows Live Update che può aver sballato o sovrascritto diverse DLL in giro per il sistema... Mi rimane questa, come ultima ipotesi.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2010, 12:26   #5
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
maledetto visual basic !
è tutta la mattina che provo .
adesso provo a installare tutto in un altro pc e vediamo come va...

se uso visual basic direttamente tutto funziona, mentre se uso excel non va ! non vorrei che in excel 2007 non sia possibile usare mscomm nelle macro.

è possibile fare in visual basic e poi importare la macro in excel ? cioè senza da excel passare in visual basic ?
e in visual studio express edition sapete se è possibile farlo ?
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2010, 12:43   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Scalor Guarda i messaggi
maledetto visual basic !
è tutta la mattina che provo .
adesso provo a installare tutto in un altro pc e vediamo come va...

se uso visual basic direttamente tutto funziona, mentre se uso excel non va ! non vorrei che in excel 2007 non sia possibile usare mscomm nelle macro.

è possibile fare in visual basic e poi importare la macro in excel ? cioè senza da excel passare in visual basic ?
e in visual studio express edition sapete se è possibile farlo ?
Momento. VS Express è .NET. Non confondiamo le cose.
Codice gestito VB-Express non funzionerà MAI in Excel.
MSCOMM32.OCX è un componente COM, non .NET, quindi suppongo che, quando dici che il componente non da problemi in VB, tu stia parlando di utilizzo di MSCOMM32.OCX in applicazione VB6.
Se invece usi MSCOMM32.OCX in un'applicazione VB.NET si può sempre fare, ma poi non aspettarti di fare un semplice copia-incolla del codice VB.NET in una macro VBA !
Se hai a portata di mano un Excel 2003, prova. Forse la colpa è proprio di Excel 2007...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2010, 12:53   #7
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Momento. VS Express è .NET. Non confondiamo le cose.
Codice gestito VB-Express non funzionerà MAI in Excel.
MSCOMM32.OCX è un componente COM, non .NET, quindi suppongo che,
quando dici che il componente non da problemi in VB, tu stia parlando di utilizzo di MSCOMM32.OCX in applicazione VB6.
esatto con visual basic 6 mscomm32 funziona.
però come faccio da vb6 a importare la macro in excel cioè il codice e i form ?

Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Se invece usi MSCOMM32.OCX in un'applicazione VB.NET si può sempre fare, ma poi non aspettarti di fare un semplice copia-incolla del codice VB.NET in una macro VBA !
Se hai a portata di mano un Excel 2003, prova. Forse la colpa è proprio di Excel 2007...
il problema è che non ho il 2003 ! devo procurarmelo .
e l'altro problema è che vb.net lo so usare ancora meno di vb6 !
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2010, 17:50   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Scalor Guarda i messaggi
esatto con visual basic 6 mscomm32 funziona.
però come faccio da vb6 a importare la macro in excel cioè il codice e i form ?
Devo verificare, ma direi già al 90% che :
- Non puoi importare in VBA una Form VB6
- Puoi importare in VB6 una UserForm VBA
In pratica devi ricostruirti la/le Form VB6 replicandole in VBA, e poi fare copia/incolla del codice...

Quote:
Originariamente inviato da Scalor Guarda i messaggi
il problema è che non ho il 2003 ! devo procurarmelo .
e l'altro problema è che vb.net lo so usare ancora meno di vb6 !
VB.NET non c'entra nulla con MSCOMM32.OCX e con quello che devi farci al momento, perciò tranquillo.
Trova un modo di provare prima con Excel 2003.
Ho usato parecchie DLL e controlli OCX esterni in Excel 2003, ma non ricordo davvero di aver mai ricevuto un errore del tipo "il soggetto non è autorizzato a eseguire l'operazione specificata".

Ultima modifica di MarcoGG : 19-02-2010 alle 17:53.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2010, 12:28   #9
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
problema risolto si deve installare il service pack e il fix della licenza per adesso funziona.

http://support.microsoft.com/kb/194751/it

http://www.microsoft.com/downloads/d...displaylang=en
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2010, 20:24   #10
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
altro problema, se io ho il file di visual basic con il programmino che funziona, come faccio a passarlo nella macro di excel senza stare li a ricopiare tutto ?
c'è la possibilità di farlo.
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2010, 08:59   #11
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Scalor Guarda i messaggi
altro problema, se io ho il file di visual basic con il programmino che funziona, come faccio a passarlo nella macro di excel senza stare li a ricopiare tutto ?
c'è la possibilità di farlo.
Come già detto, NO.
Non puoi importare i file sorgenti direttamente da VB6 a VBA.
Per quanto riguarda il codice, un copia/incolla non mi sembra poi questo gran incubo...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2010, 09:33   #12
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Come già detto, NO.
Non puoi importare i file sorgenti direttamente da VB6 a VBA.
Per quanto riguarda il codice, un copia/incolla non mi sembra poi questo gran incubo...
devo ricopiare tutti i menu dell'oggetto e il corrispondente codice da visual basic 6 a excel è un incubo !

Ultima modifica di Scalor : 21-02-2010 alle 09:39.
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2010, 10:55   #13
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Scalor Guarda i messaggi
devo ricopiare tutti i menu dell'oggetto e il corrispondente codice da visual basic 6 a excel è un incubo !
Devi solo ricostruire le Form VB6 in VBA. Del codice puro fai solo copia/incolla.
Se in VB6 hai fatto le cose come si deve, ossia hai cercato di astrarre il più possibile la logica dall'interfaccia grafica, creando Function e Sub riutilizzabili, il procedimento sarà abbastanza indolore. Se invece non l'hai fatto, beh, sarà tutto più difficile.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2010, 11:16   #14
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Devi solo ricostruire le Form VB6 in VBA. Del codice puro fai solo copia/incolla.
Se in VB6 hai fatto le cose come si deve, ossia hai cercato di astrarre il più possibile la logica dall'interfaccia grafica, creando Function e Sub riutilizzabili, il procedimento sarà abbastanza indolore. Se invece non l'hai fatto, beh, sarà tutto più difficile.
però i pulsanti in vb6 devo riscriversli tutti perchè sono numerati in nodo diverso !
meglio che mi prepari una decina di litri di camomilla !

Ultima modifica di Scalor : 21-02-2010 alle 11:24.
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2010, 19:56   #15
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
ma se io faccio un combobox, in visual basic faccio la lista delle opzioni

Quote:
Private Sub Combo1_Change()

End Sub

Private Sub Form_Load()
Combo1.AddItem " opzione 1 "
Combo1.AddItem "opzione 2"
Combo1.AddItem "opzione 3"
Combo1.AddItem "opzione 4"

'Seleziona il primo elemento.
Combo1.ListIndex = 0
end sub
nel vb di excel posiziono il combobox nel userform, ci clikko sopra per visualizzare il codice e scrivere le opzioni, ma in excel dov'è il Form_load ?
Scalor è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 09:08   #16
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Scalor Guarda i messaggi
ma se io faccio un combobox, in visual basic faccio la lista delle opzioni
...
nel vb di excel posiziono il combobox nel userform, ci clikko sopra per visualizzare il codice e scrivere le opzioni, ma in excel dov'è il Form_load ?
Per le Combo l'evento è il Change() sia in VB6 che in VBA.
In VBA il Load() delle Form non c'è, in quanto non si tratta di Form "indipendenti" come in VB6. Le UserForm di Excel sono Dialog Forms dell'applicazione-Excel, e hanno chiaramente meno autonomia e flessibilità rispetto alle Forms di VB6. Solitamente si usa UserForm_Initialize() al posto del Load().
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 11:19   #17
Scalor
Senior Member
 
L'Avatar di Scalor
 
Iscritto dal: Nov 2005
Messaggi: 2659
ok incomincio a capirci qualcosa,

e per mostarre in una textbox un valore proveniente dalla seriale alla pressioned i un pulsante ?
Quote:
Private Sub commandButton1_Click()

MSComm1.CommPort = 1 ' Seleziono la COM1
MSComm1.Settings = "9600,n,8,1" ' Le impostazioni della seriale
MSComm1.RThreshold = 1
MSComm1.PortOpen = True ' Apriamo la porta.
End Sub
Quote:
Private Sub TextBox1_Change()

Dim Rx$
Rx$ = MSComm1.Input ' Leggo il contenuto del buffer di ricezione

Text1.Value = Rx$

End Sub
Scalor è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Cos'è RSL, il nuovo standard che ...
Nissan Micra EV: da 29.500 a oltre 36.00...
Processo Microsoft-ValueLicensing: cosa ...
L'edizione limitata più ambita da...
Lo sviluppatore di MSI Afterburner svela...
Quando l'AI diventa maestro: così...
Sony WH-1000XM6 già scontate su A...
NVIDIA chiede più velocità...
Windows 11 in soli 2,8 GB: con questo sc...
Panico in casa HYTE: ritirato dal mercat...
OPPO Reno14, debutto tra rooftoop esclus...
3DAIQ, il progetto di Concept Reply e TE...
Il parlamento francese contro TikTok: '&...
Apple Watch SE 2ª gen. Cellular a soli 2...
MotoE sospesa dopo il 2025: fine tempora...
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:32.


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