Hi Moombas
hab den Fehler gefunden
Global $File = "C:\Users\RS\Desktop\t\z.txt"
der Pfad war nicht angegeben wo die txt genau liegt
Vielen Dank für dein Unterstützung und vorallem Geduld
Danke nochmal
Hi Moombas
hab den Fehler gefunden
Global $File = "C:\Users\RS\Desktop\t\z.txt"
der Pfad war nicht angegeben wo die txt genau liegt
Vielen Dank für dein Unterstützung und vorallem Geduld
Danke nochmal
Ja ich habe 4 Ordner am Desktop
Ordner 1
Ordner 2
Ordner 3
Ordner 4
ich könnte aber auch alle Excel Dateien in einen verschieben wenn das besser wäre
Meine Excel Arbeitsmappe gehen von
1_1 bis 1_50
2_1 bis 2_50
3_1 bis 3_50
4_1 bis 4_50
er öffnet mir die Excel Arbeitsmappen nicht
die Console Ausgabe
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\RS\Desktop\test44.au3"
C:\Users\RS\Desktop\Ordner\_.xlsb
>Exit code: 0 Time: 0.4118
wie wenn er die xslb nicht finden würde
Ja hast du falsch verstanden ich meinte mein Schrott Script funktioniert ohne Absturz
Aber bei deinen Script öffnet er das Excel um gleich wieder abzustürzen
k.a Warum
stimmt das denn das die $Line1...2x da drinnen steht???
du kennst dich da bessser aus
ok hab ich gemacht
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\RS\Desktop\test44.au3"
C:\Users\RS\Desktop\Ordner\_.xlsb
>Exit code: 0 Time: 0.6964
das ist das Ergebnis
so nochmal mein Schrott Script getestet und da öffnet Excel die Arbeitsmappe
ohne sich gleich wieder zu schließen
Genau das Meine ich Ja
der Code ist o.k aber die Console sagt Ordner 11
Opt('MustDeclareVars', 1)
;#RequireAdmin
#include <ScreenCapture.au3>
#include <File.au3>
#include <Array.au3>
#include <MsgBoxConstants.au3>
#include <Excel.au3>
#Include <File.au3>
#include <Misc.au3>
#Include <Date.au3>
Global $oExcel, $sExcelfile, $oWorkbook
Global $File = "C:\Users\RS\Desktop\t\ExcelDatei.txt"
Global $Line1 = FileReadLine($File, 1)
Global $Line2 = FileReadLine($File, 2)
HotKeySet("{ESC}", "_Exit")
$oExcel = _Excel_Open() ;Excel Teil ----- öffnet Excel
$sExcelfile = "C:\Users\RS\Desktop\Ordner1" & $Line1 & "\" & $Line1 & "_" & $Line2 & ".xlsb"
Consolewrite($sExcelfile & @CRLF) ; nur zur Kontrolle
$oWorkbook = _Excel_BookOpen($oExcel, $sExcelfile) ; Exceldatei öffnen
Func _Exit()
Exit
EndFunc ;==>_Exit Beendet das Script
Alles anzeigen
das ist doch seltsam
Dein Script passt auch
aber aus irgendeinem Grund macht das Excel die Arbeitsmappe nicht auf
Excel beendet sich sofort
das steht in der Console
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\RS\Desktop\test44.au3"
C:\Users\RS\Desktop\Ordner11\1_33.xlsb
>Exit code: 0 Time: 0.7167
C:\Users\RS\Ordner1\1_33.xlsb
das ist das Ergebnis
Komischerweise zeigtt er einen Ordner1 an
Er öffnet auch das Excel aber nicht die Arbeitsmappe und stürzt gleich ab
Hi
danke für die Antwort
aber er öffnet mir das Excel File nicht
Hallo Leute
Ich habe 5 Ordner mit jeweils 40 Excel Dateien
Ich lese aus einer txt Datei die ersten 2 Stellen aus
diese Zahlen sagen mir dann welche Exel Datei ich öffnen muß
;#RequireAdmin
#include <ScreenCapture.au3>
#include <File.au3>
#include <Array.au3>
#include <MsgBoxConstants.au3>
#include <Excel.au3>
#Include <File.au3>
#include <Misc.au3>
#Include <Date.au3>
HotKeySet("{ESC}", "_Exit")
Func _Exit()
Exit
EndFunc ;==>_Exit Beendet das Script
Global $Line1 = FileReadLine ("C:\Users\RS\Desktop\t\ExcelDatei.txt", 1)
Global $Line2 = FileReadLine ("C:\Users\RS\Desktop\t\ExcelDatei.txt", 2)
If $Line1 = "1" And $Line2 = "33" Then
Global $oExcel = _Excel_Open() ;Excel Teil ----- öffnet Excel
$sExcelfile = "C:\Users\RS\Ordner1\1_33.xlsb"
Global $oWorkbook = _Excel_BookOpen($oExcel, $sExcelfile) ; Exceldatei öffnen
EndIf
If $Line1 = "4" And $Line2 = "41" Then
Global $oExcel = _Excel_Open() ;Excel Teil ----- öffnet Excel
$sExcelfile = "C:\Users\RS\Ordner4\4_41.xlsb"
Global $oWorkbook = _Excel_BookOpen($oExcel, $sExcelfile) ; Exceldatei öffnen
EndIf
Alles anzeigen
aber bei 5 Ordner a 40 ExcelDateien da kommt eine Menge an Zeilen zum schreiben zusammen
Hat jemand eine Idee wie man das anderes/besser/kürzeren Code lösen könnte?
ZitatIch würde ja nur gerne wissen wo der Fehler ist und was bei meinem Script nicht passt.
Super Bitnugger
das du mir die/den Fehler anzeigst das habe ich so nicht erwartet jetzt kann ich bei meinem ursprünglichen Script bleiben.
Vielen Dank
Danke Bitnugger
Dank dir hab ichs jetzt
Local $aTest[4]
$aTest[0] = "1"
$aTest[1] = "2"
$aTest[2] = "3"
$aTest[3] = "4"
Local $aArray = FileReadToArray ("C:\Users\S\Desktop\a\1.txt")
;If IsArray($aArray) then
;MsgBox(4096,"Fehler", "Fehler beim einlesen der Daten.")
;EndIf
If $aArray[Ubound($aArray)-1] = "3" Then
MsgBox(64, @ScriptName, 'Letzte Zeile ist "3"!')
EndIf
Alles anzeigen
ZitatLernresistenz belohne nur ungern...
Bin nicht Lernresistenz so nebenbei es ist halt nicht leicht für mich.
Ich danke dir das du mir die "Lösung zeigst" aber ich hab ja ein Script gepostet.
Ich würde ja nur gerne wissen wo der Fehler ist und was bei meinem Script nicht passt.
Ich konnte ja die txt als Array einlesen und die letze Zahl anzeigen lassen aber wie zum Teufel vergleiche ich letzten Wert mit den definierten
Local $aTest[4]
$aTest[0] = "1"
$aTest[1] = "2"
$aTest[2] = "3"
$aTest[3] = "4"
Local $aArray = FileReadToArray ("C:\Users\S\Desktop\a\1.txt")
MsgBox(4, "MD5", $aArray[Ubound($aArray)-1])
For $i = 0 to $aArray[Ubound($aArray)-1]
If $aTest[$i] = $aArray[$i] Then Exit MsgBox(0, "Ergebnis", "")
Next
Alles anzeigen
Könnte mir jemand bitte schreiben wie ich diesen letzten Wert mit meinen festgelegten Werten vergleiche.
Komme da nicht weiter.
txt als Array und Anzeige der letzten Zahl funzt aber wie vergleiche ich das??
; Read the current script file into an array using the filepath.
$avArray = FileReadLine ("C:\Users\S\Desktop\a\1.txt", -1)
;MsgBox($MB_SYSTEMMODAL, "", "last line of the file:" & @CRLF & $avArray
If "20" Then
MsgBox(4096,"Info", "Richtige Zahl.")
EndIf
Funkt so nicht was mache ich falsch muss ich die letzte Zahl anders angeben?
Sorry
; Read the current script file into an array using the filepath.
$aArray = FileReadLine ("C:\Users\S\Desktop\a\1.txt", -1)
MsgBox($MB_SYSTEMMODAL, "", "last line of the file:" & @CRLF & $aArray)
Hab die txt nun als Array aber wie definiere ich jetzt wenn Zahl 3 dann starte das Makro, wenn Zahl 5 dieses Makro?
Muss ich die Zahlen fürs Makro starten auch als Array definieren?
ZitatOder du musst nochmal ran und besser beschreiben was du warum machen möchtest.
Also mein Vorhaben sieht so aus txt als Array einlesen letzten Eintrag/Zahl auslesen.
Wenn Zahl 3 dann Excel öffnen Makro 3 starten, wenn Zahl 12 dann Excel öffnen Makro 12 starten
Den Teil mit Excel öffnen und Makro starten habe ich.
Hi alpines
Wie meinst du das explizit auf den Index zugreifen. Meine txt Datei hat einmal 1000 Einträge dann wieder nur 200 wichtig ist aber nur der letzte.
Mein Vorhaben ist wenn letzter Eintrag "3" dann mache das wenn letzter Eintrag "12" dann mache dies
Meine letzte Zahl ist quasi Start für dieses oder jenes
Hallo Leute
Hab hier eine txt Datei mit mehreren Werten ich möchte aber nur den letzten Wert mit dem aus dem Script vergleichen.
Also MSgBox wenn die "3" am Ende steht aber irgendwie geht das nicht bekomme auch eine Meldung wenn die "3" wo anders ist.
Hat jemand eine Idee
Local $aRecords
$sSourcePath = "C:\Users\S\Desktop\a\"
$aFilesInFolder = _FileListToArray($sSourcePath, "*.txt" )
For $i = 1 To $aFilesInFolder[0]
If Not _FileReadToArray($sSourcePath & $aFilesInFolder[$i],$aRecords) Then
MsgBox(4096,"Fehler", "Fehler beim einlesen der Daten.")
Exit
EndIf
Global $aArray_Static[1] = ["3"]
For $i = 0 To UBound($aArray_Static) - 1
If _ArraySearch($aRecords, $aArray_Static[$i]) <> -1 Then
MsgBox(0, "Found!", $aArray_Static[$i])
EndIf
Next
Next
Alles anzeigen