VBATools

Tworzenie tekstowych plików skryptowych

by on Sep.02, 2011, under Excel, Porady

Excel jest wyśmienitym nośnikiem danych. Można go między innymi wykorzystać do tworzenia/generowania plików skryptowych. Czyli plików o formacie TXT, które to będą uruchamiane jako “patche” lub importowane przez przez urządzenia sterujące.

Jednym z przykładów chciałem opisać poniżej.

Posiadamy w kolumnie “A” dane, które to potrzebujemy opakować w klamry:

“Start” + Nowa linia + “polecenie” + dane z komórki Excela + Nowa linia + “Stop”.

Option Explicit

Sub tworzenie_pliku_skryptowego()
'MVP Shon from VBATools.pl
Dim d&, x&, file$, F&: F = FreeFile
Dim okno, max_row&: max_row = Cells(Rows.Count, "a").End(xlUp).Row
Dim s$, lan$: lan = " łańcuch"
If max_row = 1 And Len(Trim(Cells(max_row, "a").Value)) = 0 Then
 MsgBox "Brak danych do exportu!", _
 vbExclamation, "Informacja o błędzie"
 Exit Sub
End If

Dim Wybor As FileDialog
Set Wybor = Application.FileDialog(msoFileDialogFolderPicker)
With Wybor
 .AllowMultiSelect = True
 .Title = "Wybierz katalog docelowy"
 .InitialFileName = ThisWorkbook.path
 .Show
 On Error GoTo blad
 file = .SelectedItems(1)
 On Error GoTo 0
End With
If file <> "" Then
Application.ScreenUpdating = False
If Len(file) = 0 Then Exit Sub
file = file & "Plik_ze_skryptem.txt"
Open file For Output As #F
 For d = 1 To max_row
 If Len(Trim(Cells(d, 1).Value)) > 0 Then
 x = x + 1
 Print #F, "START"                       '<- start
 Print #F, "text:" & Cells(d, 1).Value   '<- text +dane z komórki
 Print #F, "END"                         '<- koniec
 End If
 Next d
Close #1
Application.ScreenUpdating = True
Select Case x
 Case 1: s = "y"
 Case 2 To 4: lan = lan & "y": s = "e"
 Case Is > 4: lan = lan & "ów": s = "ych"
End Select
MsgBox "Wygenerowano " & x & lan & " skryptow" & s, _
 vbInformation, "Informacja dodatkowa VBATools.pl"
End If
blad:
End Sub

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.

:, , , ,

Leave a Reply

Recently Active Members

Profile picture of vbatools
Profile picture of Karol Stilger
Profile picture of marcinmachalowski
Profile picture of Joanna Subik
Profile picture of Anorak
Profile picture of programistaaccess
Profile picture of piotrpawlik
Profile picture of Emil Wasilewski
Profile picture of kicekpicek
Profile picture of coldfusion
Profile picture of Gosia Borzęcka
Profile picture of lukaszch
Profile picture of itadministracja
Profile picture of farbenia
Profile picture of Łukasz Kałużny
Profile picture of kabzinski
Profile picture of rtynski
Profile picture of leszekbetlinski
Profile picture of Iv
Profile picture of Justyna Spychała