Scusa Ciro, mi devo assentare. Ti posto un esempio di codice con la CD:
codice:Public Sub SalvaSP() On Error Resume Next Dim FileNum As Integer Dim FileName As String Dim FileTitle As String Dim dblSPA1s As Double, dblSPA2s As Double dblSPA1s = FrmSP.Txt1SP.Text dblSPA2s = FrmSP.Txt2SP.Text With FrmStatoPatrim.CommonDialogSPP .CancelError = True On Error GoTo ErrHandler .DialogTitle = "Selezionare la destinazione del file" .Flags = cdlOFNNoChangeDir Or cdlOFNHideReadOnly Or cdlOFNPathMustExist Or cdlOFNOverwritePrompt Or cdlOFNNoReadOnlyReturn .Filter = "File di programma (*.csv)|*.csv|Documenti di Testo (*.Txt)|" .FilterIndex = 1 .DefaultExt = "csv" .FileName = FrmAA.TxtNuovoFile 'Imposta il Nome del file in base a quanto digitato nella prima pagina .InitDir = App.Path & "\DATI\SP" .ShowSave ErrHandler: If Err.Number = 32755 Then 'é stato scelto Annulla boolErrAnnSP1 = True Exit Sub Else: boolErrAnnSP1 = False End If FileName = FrmSP.CommonDialogSPP.FileName FileTitle = FrmSP.CommonDialogSPP.FileTitle frmMain.TxtInd2.Text = frmMain.TxtInd2.Text = FrmSP.CommonDialogSPP.FileName 'Visualizza nome e percorso del file in uso nella Barra di stato FileNum = FreeFile() If Len(.FileName) = 0 Then Exit Sub End If End With 'Salva: Open FileName For Output As #FileNum Write #FileNum, dblSPA1s, dblSPA2s Close #FileNum FrmSP.boolVerifica10 = True 'Indica che il file è stato salvato End SubLe variabili le deve dichiarare a secondo della natura dei dati, anche String, e vanno dichiarate una per una, come nell'esempio e Non Dim dblSPA1s, dblSPA2s As Double altrimenti solo l'ultima è Double e tutte le altre sono Variant (appesantisci il programma).codice:Public Sub ApriSPpassivoCDSelez() On Error Resume Next Dim intDomINSP As Integer 'Variabile di MsgBox If FrmSP.boolVerifica10 = False And Ctr(FrmSP.Txt105SP.Text) > 0 Then ' chiede di salvare o No intDomINSP = MsgBox("SP - Volete salvare il file ? Clic su OK per effettuare" & Chr(13) _ & "l'operazione - su Annulla per aprire un nuovo file, senza salvare quello in uso.", vbExclamation + vbOKCancel, "Applicazioni Aziendali") If intDomINSP = 1 Then 'Pulsante OK Call SalvaSP 'Invia alla routine salva con nome End If End If Dim FileNum As Integer Dim FileTitle As String Dim FileName As String 'Variabili per Aprire il file: Dim dblSPA1 As Double, dblSPA2 As Double With FrmSP.CommonDialogSPP .CancelError = True 'Imposta CancelError su True On Error GoTo ErrHandler .Filter = "File di programma (*.csv)|*.csv|Documenti di Testo (*.Txt)|" .FilterIndex = 1 .DefaultExt = "csv" .Flags = cdlOFNNoChangeDir Or cdlOFNHideReadOnly Or cdlOFNFileMustExist Or cdlOFNNoReadOnlyReturn .DialogTitle = "Selezionare il file da aprire" .FileName = FrmAA.TxtNuovoFile 'Imposta il Nome del file in base a quanto digitato nella prima pagina .InitDir = App.Path & "\DATI\SP" .ShowOpen ErrHandler: If Err.Number = 32755 Then 'é stato scelto Annulla boolErrAnnSP2 = True Exit Sub Else: boolErrAnnSP2 = False End If FileName = .FileName FileTitle = .FileTitle 'Visualizza nome e percorso del file in uso nella Barra di stato: frmMain.TxtInd2.Text = FrmSP.CommonDialogSPP.FileName FileNum = FreeFile() 'Esce se l'utente ha fatto clic su annulla If Len(FileName) = 0 Then Exit Sub End If End With Open FileName For Input As FileNum Do While Not (EOF(FileNum) = True) 'Trova la fine del file Input #FileNum, dblSPA1, dblSPA2 FrmSP.Txt1SP.Text = Format((dblSPA1), "#,##0") FrmSP.Txt2SP.Text = Format((dblSPA2), "#,##0") Loop 'Esce da DO Close #FileNum End Sub
Spero che il codice sia chiaro.
![]()

Rispondi quotando