Ciao a tutti , scusatemi se magari ho sbagliato Area di Argomento , ma sono completamente a digiuno su Visual Studio 2022 e vorrei realizzare un programma che faccia le stesse cose che fa il foglio excel che ho realizzato:
Dove ho un foglio nascosto vedi sotto suddiviso in 3 colonne e 5 righe foto sotto,
Quando apro il foglio.xlsm parte una macro con un userform e 3 pulsanti che eseguono : 1 seleziona file dati 2 genera file ini 3 genera file di uscita. sotto metto come esempio il vba dei 2 pulsanti:
Mi potete dare una mano magari inviandomi un file di esempio e quando apro Visual studio 2022 che opzione devo scegliere per realizzare quanto scritto.
Grazie
Max
Sub creafile()
' Crea file di testo da una zona dati Excel
'
Path$ = "C:\Users\santi\Desktop\test\" ' percorso per salvataggio file
Nomefile$ = "Prova_4.ini" ' nome del file da salvare
PF$ = Path$ & Nomefile$ ' costruisce percorso completo
nri% = 5 ' imposta n° righe
nco% = 3 ' imposta n° colonne
'
If Dir(PF$) <> "" Then ' verifica se il file esiste già
msgrisp = MsgBox("Il file esiste già." & Chr(13) & "Sostituirlo?", 308, "Messaggio Macro Creafile")
If msgrisp = 7 Then End
End If
F% = FreeFile ' acquisisce primo numero di file libero
Open PF$ For Output As #F% ' apre un file per output
For riga% = 1 To nri%
For col% = 1 To nco%
If col% < nco% Then
Print #F%, Sheets("Foglio1").Cells(riga%, col%); 'Chr(1); 'Scrive dati nel file e chr(*) serve per gli spazzi dove * e numero spazi sulla stssa riga
Else
Print #F%, Sheets("Foglio1").Cells(riga%, col%); ' togli gli spazi tra le righe
End If
Next col%
If riga% < nri Then Print #F%, 'Chr(0)
Next riga%
'
Close #F% 'Chiude File
'
MsgBox "Creato file " & Nomefile$, 64, "Messaggio Macro Creafile"
'
End Sub
Sub PercorsoFile()
Dim fd As FileDialog
Dim sName As String
Dim sPath As String
Dim Arr
'variabile percorso
sPath = Foglio1.Cells(1, "B")
'variabile nome file
sName = Foglio1.Cells(1, "C")
'imposta file dialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
.ButtonName = "Seleziona"
.Title = "Seleziona il file da importare"
.Show
If (.SelectedItems.Count > 0) Then
Arr = Split(.SelectedItems(1), "\")
sName = .SelectedItems(1)
'scrive sul foglio il percorso e il nome file
Foglio1.Cells(1, "C") = Arr(UBound(Arr))
Foglio1.Cells(1, "B") = Replace(sName, Arr(UBound(Arr)), "")
Foglio1.Cells(2, "C") = Replace(Arr(UBound(Arr)), ".dat", ".ascii")
Foglio1.Cells(2, "B") = Replace(sName, Arr(UBound(Arr)), "")
Else
MsgBox "File non selezionato"
Exit Sub
End If
End With
Set fd = Nothing
End Sub