tippolo

Commondialog

7 messaggi in questa discussione

Ho creato un progetto in VB che mi scrive su un foglio Excel già preconfezionato, alla chiusura del programma mi salva automaticamente il file Excel nella cartella superiore in cui si trova l’eseguibile.

La mia necessità era di far scegliere all’utente la directory in cui salvare uil file, so che bisogna usare CommonDialog ma sinceramente non so cosa aggiungere.

Questo è il codice che ho usato:

Private Sub Form_Unload(Cancel As Integer)

On Error GoTo errore

Dim retval As Integer

retval = MsgBox("Vuoi salvare il conteggio dell'estratto conto del Sig: " & ExcelObj.Label17 & "?", vbYesNo + vbQuestion, "Attenzione!")

If retval = vbYes Then

Beep

FileExcel.SaveAs App.Path & " " & ExcelObj.Label17 'salva il file

FileExcel.Close

Beep

MsgBox "Il conteggio dell'estratto conto del Sig: " & ExcelObj.Label17 & " " & "è stato salvato.", vbInformation, "Fine lavoro"

Else

FileExcel.Close (False) 'chiude il file senza salvare

End If

errore:

'MsgBox "Errore " & Err.Number & vbCrLf & Err.Description

Set FileExcel = Nothing 'libero ("scarico") la variabile

End

End Sub

Qualcuno potrebbe aiutarmi?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Supponendo di aver aggiunto un componente Common Dialog di nome cdgSalva richiamiamo il metodo ShowSave per scegliere la directory ed il nome del file, poi utilizziamo la proprietà FileName come parametro contente il percorso scelto. Ecco come risulta il programma:

Private Sub Form_Unload(Cancel As Integer)
On Error GoTo errore
Dim retval As Integer
retval = MsgBox("Vuoi salvare il conteggio dell'estratto conto del Sig: " & ExcelObj.Label17 & "?", vbYesNo + vbQuestion, "Attenzione!")
If retval = vbYes Then
	Beep
	cdgSalva.ShowSave
	FileExcel.SaveAs cdgSalva.FileName & " " & ExcelObj.Label17 'salva il file
	FileExcel.Close
	Beep
	MsgBox "Il conteggio dell'estratto conto del Sig: " & ExcelObj.Label17 & " " & "è stato salvato.", vbInformation, "Fine lavoro"
Else
	FileExcel.Close (False) 'chiude il file senza salvare
End If
errore:
'MsgBox "Errore " & Err.Number & vbCrLf & Err.Description
Set FileExcel = Nothing 'libero ("scarico") la variabile
End
End Sub

:)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Grazie Bug

però c'è un problemino se decido di non salvare il file, questo viene salvato automaticamente :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

mi correggo

se prima gli dico di salvarlo e poi decido di non salvarlo piu me lo salva con la caption della label17 in Documenti

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Cosi dovrebbe andare:

Private Sub Form_Unload(Cancel As Integer)
On Error GoTo errore
Dim retval As Integer
retval = MsgBox("Vuoi salvare il conteggio dell'estratto conto del Sig: " & ExcelObj.Label17 & "?", vbYesNo + vbQuestion, "Attenzione!")
If retval = vbYes Then
	Beep
	cdgSalva.ShowSave
	If cdgSalva.FileName <> "" Then
		FileExcel.SaveAs cdgSalva.FileName & " " & ExcelObj.Label17 'salva il file
		Beep
		MsgBox "Il conteggio dell'estratto conto del Sig: " & ExcelObj.Label17 & " " & "è stato salvato.", vbInformation, "Fine lavoro"
	End If
	FileExcel.Close
Else
	FileExcel.Close (False) 'chiude il file senza salvare
End If
errore:
'MsgBox "Errore " & Err.Number & vbCrLf & Err.Description
Set FileExcel = Nothing 'libero ("scarico") la variabile
End
End Sub

Ho aggiunto un controllo sulla proprietà FileName, se è vuota evita il salvataggio ;-)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Scusate se mi intrometto ma cercando in giro ho beccato questo post. Allora per quanto mi è sembrato di capire, il codice da mettere si limita alla riga CommonDialog1.ShowSave. Ora quando faccio uscire la schermata, come gli dico che in un file di testo contenente 1 dato per ogni riga, deve essere salvato da qualche parte e debba contenere dei dati che ho impostato ? (esempio Print #1, "WINDOWX::347"

dove la riga in questione contenga WINDOWX::347 etc etc)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora