Guten Morgen zusammen,
ich habe ein kleines Problem. Und zwar möchte ich für die Arbeit ein Tool schreiben, was mir von den markierten Dateien im Explorerfenster die Dateinamen in eine Excelliste schreibt. Für jede Datei soll eine neue Zeile + Spalte angelegt werden. Außerdem soll es von den Benennungen die ersten 7 Zeichen löschen. Soweit funktioniert mein Tool auch. Aber nur für eine Datei :-D. Wenn ich mehrere auswähle kommt Quatsch bei raus.
Probier´s mal aus dann wisst Ihr worauf ich hinaus will.
Ich weiss dass ich noch eine Funktion einbauen muss, also so eine Art Zähler. Hab aber leider absolut keine Idee wie ich das realisieren soll.
Hier mal der Code:
#include <GUIConstantsEx.au3>
#include <StringConstants.au3>
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <Excel.au3>
#include <File.au3>
#include <Date.au3>
#include <data\decl.au3>
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
$Window_Main = GUICreate("Pyron - Daten smarter verwalten", 140, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
$Button_Dateien_waehlen = GUICtrlCreateButton("1.Pläne waehlen", 10, 30, 120, 25 )
GUICtrlSetOnEvent($Button_Dateien_waehlen, "Plaene_waehlen")
$Button_Daten_uebernehmen = GUICtrlCreateButton("2.Daten übernehmen", 10, 70, 120, 25)
GUICtrlSetOnEvent($Button_Daten_uebernehmen, "Daten_uebernehmen")
GUISetState(@SW_SHOW)
While 1
Sleep(1000)
WEnd
Func Plaene_waehlen()
; Create a constant variable in Local scope of the message to display in FileOpenDialog.
$sMessage = "Hold down Ctrl or Shift to choose multiple files."
; Display an open dialog to select a list of file(s).
$sFileOpenDialog_Plaene = FileOpenDialog($sMessage, @WindowsDir & "", "Pläne (*.bmf_)", $FD_FILEMUSTEXIST + $FD_MULTISELECT)
If @error Then
; Display the error message.
MsgBox($MB_SYSTEMMODAL, "", "Keine Datei gewählt!")
; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder.
FileChangeDir(@ScriptDir)
EndIf
EndFunc
Func Daten_uebernehmen()
$File_search = FileFindFirstFile($sFileOpenDialog_Plaene & '*.bmf')
_PathSplit($sFileOpenDialog_Plaene & $File_search, $sDrive, $sDir, $sFileName, $sExtension)
$String_Replace_Plannummer_1 = StringLeft($sFileName, 6)
$String_Replace_Benennung_1 = StringTrimLeft($sFileName, 7)
$Date = _NowDate()
$Index = 0
$oExcel = _Excel_Open(Default, Default, Default, Default, True)
$oWorkbook = _Excel_BookNew($oExcel, 1)
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $String_Replace_Plannummer_1, "A1")
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $String_Replace_Benennung_1, "B1")
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Date, "C1")
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Index, "D1")
EndFunc
Func CLOSE_clicked_Window_Main()
Exit
EndFunc
Alles anzeigen
Variablen sind in einer extra Datei deklariert.
Wär nett wenn Ihr mir da helfen könntet. Das würde mir eine Menge Arbeit ersparen.
Danke im Voraus.
LG Mikki