Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-12-2002, 18:09   #1
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
problemi con FINDWINDOW

Chi sà spiegarmi perché, se ci sono altri file di excel aperti (ridotti a icona), questa sub non riesce ad aprire “cambi.xls”?
Se Excel non è in esecuzione tutto ok, su load della maschera di access viene aperto il file di excel e attivato il foglio “query web”, se “CAMBI.xls” è già aperto, ma solo lui!, esce dalla sub e carica direttamente la maschera.

Codice:
'In un modulo di access 2000'

Option Compare Database
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub excel()

Dim path
Dim MyXL
Dim hWnd As Long

hWnd = FindWindow(vbNullString, "Microsoft Excel - CAMBI.xls")

If hWnd = 0 Then '0 significa che il file di Excel non è in esecuzione.

Set MyXL = GetObject("C:\documenti\CAMBI.xls")
    MyXL.Application.Visible = True
    MyXL.Parent.Windows(1).Visible = True
    MyXL.Sheets("query web").Activate
Set MyXL = Nothing

Else
 Exit Sub
End If

End Sub

'In una maschera di access'

Private Sub Form_Load()
 excel
End Sub
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2002, 18:30   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Non ho capito bene qual è il problema... Me lo potresti rispiegare ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2002, 18:43   #3
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Questa sub mi serve per aprire CAMBI.xls da access all'apertura di una maschera, ma se ci sono altri file di excel aperti la sub non riesce ad aprire il file.
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2002, 18:46   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quale ramo dell' If fa nel caso che sia già aperto un file di Excel ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2002, 18:47   #5
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
La modifica è per togliere 2 dim che non c'entravano nulla.
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2002, 18:50   #6
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Con questa riga vorrei controllare se CAMBI.xls è aperto :If hWnd = 0 Then '0 significa che "CAMBI.xls" non è in esecuzione.

Codice:
'In un modulo di access 2000' 

Option Compare Database 
Option Explicit 

Private Declare Function FindWindow Lib "user32" Alias _ 
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 

Sub excel() 

Dim path 
Dim MyXL 
Dim hWnd As Long 

hWnd = FindWindow(vbNullString, "Microsoft Excel - CAMBI.xls") 

If hWnd = 0 Then '0 significa che "CAMBI.xls" non è in esecuzione. 

Set MyXL = GetObject("C:\documenti\CAMBI.xls") 
    MyXL.Application.Visible = True 
    MyXL.Parent.Windows(1).Visible = True 
    MyXL.Sheets("query web").Activate 
Set MyXL = Nothing 

Else 
Exit Sub 
End If 

End Sub 

'In una maschera di access' 

Private Sub Form_Load() 
excel 
End Sub
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2002, 18:55   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "CIUFFO"

Con questa riga vorrei controllare se CAMBI.xls è aperto :If hWnd = 0 Then '0 significa che "CAMBI.xls" non è in esecuzione.
Ok... ma che ramo dell'if ti fa nel caso che un altri documento xls sia aperto (che se ho capito è il caso in cui non ti viene aperto CAMBI.xls) ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2002, 19:33   #8
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originally posted by "CIUFFO"

Questa sub mi serve per aprire CAMBI.xls da access all'apertura di una maschera, ma se ci sono altri file di excel aperti la sub non riesce ad aprire il file.

forse perchè devi portare cambi.xls in primo piano
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2002, 10:23   #9
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Per misterX:
come lo porto in primo piano da VB?
Già c'è
Codice:
MyXL.Sheets("query web").Activate
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2002, 10:27   #10
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Per Cionci

Non c'è un ramo dell'if per il caso che un'altro .xls sia aperto
L'if controlla solo se "CAMBI.xls" è già aperto ed esce dalla sub se è gia aperto altrimenti lo apre, solo che se ci sono altri .xls non ci riesce e non capisco perchè.
Ciao
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2002, 16:09   #11
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
ho provato anch'io le API da te proposte, in effetti, se sul titolo della windows non compare per intero

"Microsoft Excel - Cartel1.xls"

la window non viene trovata

non sono un profondo conoscitore di VB ma per similitudine, ho idea che devi utilizzare ulteriori API del tipo

GetNextWindow() passandogli come handle

hwnd = FindWindow(0,"Microsoft Excel")

GetNextWindow(hwnd,GW_HWNDNEXT)


ma sicuramente in VB vi è un metodo più semplice

hai provato la FindWindowEx()?

a me purtroppo molte API sotto Excel non funzionano quindi non posso fare molte prove
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 09:22   #12
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Se metti un msgbox qualunque nella open del workbook del file .xls richiesto:
Codice:
Private Sub Workbook_Open()
MsgBox "ciao"
End Sub
Find windows apre il file .xls anche se ce ne sono altri aperti, ma una volta dato l'ok a msgbox excel dà il focus ad un'altro file .xls e quello richiesto che era apparso con l'msgbox sparisce!
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 09:26   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ma se è già aperto CAMBI.xls, ma non ha il focus, FindWindow te lo trova ?
In questo caso dovrebbe bastare usare nuovamente FindWindow per ottenere l'handle alla finestra di CAMBI.xls...poi gli setti il focus con l'API SetFocus...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 15:16   #14
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Se Cambi.xls è già aperto l'IF va su else ed esce dalla sub.
Io voglio aprire Cambi.xls solo se non è già aperto, solo che se ci sono altri .xls findwindows non ci riesce, ovvero, ci riesce ma una volta dato ok a msgbox sparisce.
se provi questo esempio capirai:
Codice:
'in un modulo
Option Compare Database
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub excel()
Dim path
Dim MyXL
Dim hwnd As Long

path = "c:\documenti\excel\Cartel1.xls"

hwnd = FindWindow(vbNullString, "Microsoft Excel - Cartel1.xls")

If hwnd = 0 Then ' 0 significa che il file di Excel non è in esecuzione.

Set MyXL = GetObject(path)

    MyXL.Application.Visible = True
    MyXL.Parent.Windows(1).Visible = True
   
Set MyXL = Nothing

Else
 Exit Sub
End If

End Sub

'in una maschera
Private Sub Form_Load()
excel
End Sub

'in Cartel1.xls

Private Sub Workbook_Open()
MsgBox "ciao"
End Sub
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 15:29   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "CIUFFO"

Se Cambi.xls è già aperto l'IF va su else ed esce dalla sub.
Appunto... Guarda come lo modifico per rendere attivo CCAMBI.XLS

Codice:
'in un modulo
Option Compare Database
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hwnd As Long) As Long

Sub excel()
Dim path
Dim MyXL
Dim hwnd As Long

path = "c:\documenti\excel\Cartel1.xls"

hwnd = FindWindow(vbNullString, "Microsoft Excel - Cartel1.xls")

If hwnd = 0 Then ' 0 significa che il file di Excel non è in esecuzione.

Set MyXL = GetObject(path)

    MyXL.Application.Visible = True
    MyXL.Parent.Windows(1).Visible = True
   
Set MyXL = Nothing

hwnd = FindWindow(vbNullString, "Microsoft Excel - Cartel1.xls")
If hwnd <> 0 Then
SetForegroundWindow(hwnd)
SetFocus(hwnd)
End If

Else
 Exit Sub
End If

End Sub

'in una maschera
Private Sub Form_Load()
excel
End Sub

'in Cartel1.xls

Private Sub Workbook_Open()
MsgBox "ciao"
End Sub
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 18:30   #16
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Ho provato la tua modifica, ma non cambia nulla!
Dopo aver dato l'ok a msgbox cartel1 sparisce!
E poi hai messo:
Codice:
hwnd = FindWindow(vbNullString, "Microsoft Excel - Cartel1.xls") 
If hwnd <> 0 Then 
SetForegroundWindow(hwnd) 
SetFocus(hwnd) 
End If
Io devo dare il focus a Cartel1 dopo averlo aperto con getobject(path) e solo se non è già aperto.
E' chiaro che se è già aperto non devo aprirlo ancora.
La mia sub serve per aprire Cartel1 solo nel caso non sia già aperta.
Spero di essere stato chiaro.
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 19:11   #17
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
devi andare a cercarla la window con GetNextWindow()

ci sono in rete un sacco di esempi adatti allo scopo


prova una cosa del genere:

Codice:
  hwindow = FindWindow(vbNullString, "Microsoft Excel")

  if hwindow <> 0 then
    hwindow = FindWindowEx(hwindow, 0, "Cambi.xls", vbNullString)
  end if

  If hwindow = 0 Then msgbox "Cambi.xls non trovata"
  msgbox hwindow
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 19:14   #18
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
sob, doppio post
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 19:28   #19
CIUFFO
Member
 
L'Avatar di CIUFFO
 
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
Già provato, non funzia!
CIUFFO è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2002, 19:29   #20
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
hai provato enumerando le window?
misterx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
Steam Machine: addio al 4K 60 fps. Valve...
Cosa aumenterà di prezzo dopo com...
Altro che 2028: Micron ha blindato prezz...
Come la tecnologia FWA connette i piccol...
Diesel Euro 5, scatta il divieto in quat...
Prime Day, HillMiles scende a 599€ e re...
OpenAI valuta di rinviare l'Ipo al 2027:...
Streaming e Pay TV: ogni famiglia italia...
Volkswagen, Blume prepara maxi-taglio da...
Trenitalia, attacco hacker: esposti alcu...
Adblock for YouTube, 11 milioni di insta...
Assassin's Creed Black Flag Resynced pot...
Gli USA dicono no a Polestar, sì a Volvo...
Steam Machine dovrebbe costare 700 dolla...
Microsoft 365, l'Antitrust apre un'istru...
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: 18:15.


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