Allora fermo restando che se mi presento come novizio, inesperto o qualsiasi altro aggettivo da di per se che non inserisco i codici come gli esperti vorrebbero o peggio ancora sbaglio nel descrivere la problematica, chi scrive nei forum è proprio perchè ha difficolta più o meno grandi che da solo non riesce a risolvere, ma non per questo mi sento un inetto o un fallito nel voler provare a conoscere o imparare il VBA ... comunque a parte questo sfogo o polemica che si voglia ringrazio Alex perchè tutto sommato sta dedicando tempo e pazienza per un mio problema, confermo che i miei codici non sono altro che un copia/incolla di codici "trovati" su internet e messi a disposizione di chi ne voleva fare uso. Per Alex: i codici relativi al minimizza e chiudi mi hanno sempre funzionato, la problemaitca è associarli ad altri codici che, sempre su internet, ho trovato per inserire un grafico su un form. Ribadisco che il problema nasce quando inserisco il comando Option Explicit, su alcuni manuali che ho trovato viene suggerito di inserire questo comando in moduli ma così facendo il minimizza non funziona è per questo che l'ho inserito, sempre su suggerimento di altri, insieme agli altri codici...ora vediamo se ho capito come postare i codici come mi è stato suggerito:
Questi sono i codici per inserire il grafico presente su una sheet e trasformato, con questi codici, in formato gif:
Dim ChartNum As Integer
Private Sub UserForm_Initialize()
ChartNum = 1
UpdateChart
End Sub
Private Sub UpdateChart()
Set CurrentChart = Sheets("Foglio1").ChartObjects(ChartNum).Chart
CurrentChart.Parent.Width = 500
CurrentChart.Parent.Height = 300
' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
' Show the chart
Image1.Picture = LoadPicture(Fname)
End Sub
Se avvio la form funziona tutto e si carica anche il grafico, ma quando vado ad inserire i codici per i tasti minimizza, ingrandisci e chiudi (come di seguito):
Option Explicit
Private nr As Long
Private rng As Range
Private c As Range
Private Declare Function FindWindow& Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName$, _
ByVal lpWindowName$)
Private Declare Function SetWindowLong& Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd&, ByVal nIndex&, _
ByVal dwNewLong&)
Private Declare Function EnableWindow& Lib "user32" _
(ByVal hWnd&, ByVal fEnable&)
Private Declare Function ShowWindow& Lib "user32" _
(ByVal hWnd&, ByVal nCmdShow&)
questi invece li inserisco nel comando initialize:
'\\ Minimizza su user
Dim Style As Long
' Min: &H20000 / Max: &H10000 / Resize: &H40000
' agendo su &H20000 e/o su &H40000 si ha anche l'ingrandimento
Style = &H84C80080 Or &H20000 Or &H40000
SetWindowLong FindWindow(vbNullString, Me.Caption), -16, Style
EnableWindow FindWindow(vbNullString, Application.Caption), 1
ERRORE DI COMPILAZIONE
VARIABILE NON DEFINITA
e mi evidenzia CurrentChart nel comando Set CurrentChart di Private Sub updateChart
speriamo così vada bene....