@ m-obi
Das funktioniert Danke
Bei dem " waum " hakt es bei mir
Muß ich mir ersteinmal in ruhe Anschauen.
Kleiner
Danke auch dir für den Denkanstoß
mfg
oh-ha
@ m-obi
Das funktioniert Danke
Bei dem " waum " hakt es bei mir
Muß ich mir ersteinmal in ruhe Anschauen.
Kleiner
Danke auch dir für den Denkanstoß
mfg
oh-ha
@m-obi
Macht es automatisch nach der Anzahl der Spalten in der Excel-Tabelle. Post1 hatte ich eine test.xls an gehangen.
Das Skript aus Post3 ist lauffähig + der Excel-Tabelle aus post1
Hier werden die Checkboxen angeordnet nach der Anzahl der Spalten in der excel -Tabelle.
[autoit]For $i = 1 To $var[0][0]
$top = 25 + ($i * 20)
$left = 25
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
mfg
oh-ha
erst einmal Danke das du dir die Zeit genommen hast da reinzuschauen und aufzuräumen.
Habe mich wohl etwas falsch ausgedrückt ( mal wieder ). Sorry
Wenn die Gui erneut gestartet wird soll sie sich aus der test.ini die Checkboxen generieren und auch direkt die vorher angehakten Checkboxen wieder Checken aus der
test.ini heraus.
Möchte nicht per Hand in der *.ini die Checkboxen checken sondern über das skript selber. Oder habe ich da was falsch Verstanden ?
Habe auch mal Probiert deine Version so einzubauen aber komme da zu keinen Ergebnis.
Habe mal das Testskript dementsprechend angepasst.
#include <GuiDateTimePicker.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <Excel.au3>
#include <Array.au3>
#include <File.au3>
#include <GuiComboBox.au3>
#include <Date.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <string.au3>
#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit]#include <GuiEdit.au3>
#include <GuiConstantsEx.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]testgui()
[/autoit] [autoit][/autoit] [autoit]Func testgui()
$Form1 = GUICreate("Testgui", 746, 450, 258, 119)
$Group2 = GUICtrlCreateGroup("Spalten Löschen für & $neulabel", 4, 30, 737, 338, BitOR($GUI_SS_DEFAULT_GROUP,$BS_LEFT))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Tabelle Öffnen", 100, 401, 89, 25)
$Button2 = GUICtrlCreateButton("Speichern", 200, 401, 89, 25)
$beenden = GUICtrlCreateButton("Beenden", 500, 401, 120, 25)
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile1")
If @error Then
MsgBox(64,"Test", "Es ist noch kein Eintrag vorhanden")
neu1()
Else
Local $Spalten = IniRead(@ScriptDir & "\test.ini", "Spaltenzahl", "spalten", "")
Local $Checkbox[$Spalten+1]
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile1")
For $i = 1 To $var[0][0]
$top = 25 + ($i * 20)
$left = 25
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
If $var[$i][1] = 1 Then GUICtrlSetState($Checkbox[$i], $GUI_CHECKED)
Next
EndIf
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "beenden")
GUICtrlSetOnEvent($Button1, "neu1")
GUICtrlSetOnEvent($Button2, "speichern")
GUICtrlSetOnEvent($beenden, "beenden")
While 1
Sleep(50)
WEnd
EndFunc;==>testgui
[/autoit] [autoit][/autoit] [autoit]Func neu1()
IniWrite(@ScriptDir & "\test.ini", "Spaltenzahl", "", "")
$Open = FileOpenDialog("",@ScriptDir,"(test1.xls)")
$oExcel = _ExcelBookOpen($Open, 0)
$Spalten = $oExcel.Worksheets(1).UsedRange.Columns.Count
IniWrite(@ScriptDir & "\test.ini", "Spaltenzahl", "spalten", $Spalten)
Local $Checkbox[$Spalten+1]
$aArray = _ExcelReadArray($oExcel, 1, 1, $Spalten, 0, 1)
_ExcelBookClose($oExcel,0,0)
For $i = 1 To $aArray[0]
IniWrite(@ScriptDir & "\test.ini", "Zeile1", $aArray[$i], BitAND(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED))
Next
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile1")
For $i = 1 To $var[0][0]
$top = 25 + ($i * 20)
$left = 25
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
If $var[$i][1] = 1 Then GUICtrlSetState($Checkbox[$i], $GUI_CHECKED)
Next
EndFunc;==>neu1
[/autoit] [autoit][/autoit] [autoit]Func speichern()
MsgBox(64,"Speichern", "Hier würde ich gerne den Status der Checkboxen abspeichern lassen in der test.ini. Als 1=checkt oder 0=uncheckt" & @CRLF & "" & @CRLF & "Nur habe ich keine Ahnung wie man das umsetzen kann.")
EndFunc;==>speichern
Func beenden()
Exit
EndFunc;==>beenden
mfg
oh-ha
moin moin,
Habe mal wieder ein Problem mit erstellten Checkboxen.
Wenn ich diese generiert habe werden die in einer test.ini abgespeichert.
Aber wie bekommt man es hin das man den Status der Checkboxen in der selben test.ini abspeichern kann
Da sie immer wieder neu generiert werden haben die auch immer wieder eine neue ID.
Die *.ini ist so aufgebaut.
Nun möchte ich den Status der Checkboxen gerne so in die test.ini bekommen
ja = CHECKED nein = UNCHECKED
#include <GuiDateTimePicker.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <Excel.au3>
#include <Array.au3>
#include <File.au3>
#include <GuiComboBox.au3>
#include <Date.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <string.au3>
#include <hotkeys.au3>
#include <Misc.au3>
#include <_ToolTipMouseExit.au3>
#include <GuiEdit.au3>
#include <GuiConstantsEx.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]testgui()
Func testgui()
$Form1 = GUICreate("Testgui", 746, 450, 258, 119)
$Group2 = GUICtrlCreateGroup("Spalten Löschen für & $neulabel", 4, 30, 737, 338, BitOR($GUI_SS_DEFAULT_GROUP,$BS_LEFT))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Radioeinaus1 = GUICtrlCreateRadio("testtabelle1", 305, 401, 89, 17, BitOR($GUI_SS_DEFAULT_RADIO,$BS_LEFT))
$Radioeinaus2 = GUICtrlCreateRadio("testtabelle2", 403, 401, 73, 17, BitOR($GUI_SS_DEFAULT_RADIO,$BS_LEFT))
$beenden = GUICtrlCreateButton("Beenden", 500, 395, 120, 25)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "beenden")
GUICtrlSetOnEvent($Radioeinaus1, "testtabelle1")
; GUICtrlSetOnEvent($Radioeinaus2, "testtabelle2")
GUICtrlSetOnEvent($beenden, "beenden")
While 1
Sleep(50)
WEnd
EndFunc;==>testgui
Func testtabelle1()
$Open = FileOpenDialog("",@ScriptDir,"(test1.xls)")
$oExcel = _ExcelBookOpen($Open)
$Spalten = $oExcel.Worksheets(1).UsedRange.Columns.Count
$Spalten = $Spalten+2
Local $Checkbox[$Spalten]
Dim $aArray[$Spalten]
For $i = 1 To UBound($aArray) -1
$aArray[$i] = _ExcelReadArray($oExcel, 1, $i, 1, 1)
_ArrayToClip($aArray[$i])
$ddd = (ClipGet())
IniWrite(@ScriptDir & "\test.ini", "Zeile1", $ddd, "")
Next
_ExcelBookClose($oExcel)
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile1")
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0]-1
$top = 25 + ($i * 20)
$left = 25
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
Next
EndIf
EndFunc;==>testtabelle1
#cs
Func testtabelle2()
$Open = FileOpenDialog("",@ScriptDir,"(test2.xls)")
$oExcel = _ExcelBookOpen($Open)
$Spalten = $oExcel.Worksheets(1).UsedRange.Columns.Count
$Spalten = $Spalten+2
Local $Checkbox[$Spalten]
Dim $aArray[$Spalten]
For $i = 1 To UBound($aArray) -1
$aArray[$i] = _ExcelReadArray($oExcel, 1, $i, 1, 1)
_ArrayToClip($aArray[$i])
$ddd = (ClipGet())
IniWrite(@ScriptDir & "\test.ini", "Zeile2", $ddd, "")
Next
_ExcelBookClose($oExcel)
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile2")
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0]-1
$top = 25 + ($i * 20);
$left = 25;
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
Next
EndIf
EndFunc;==>testtabelle2
#ce
Func beenden()
Exit
EndFunc;==>beenden
Habe mal eine text.xls mit drangehangen
mfg
oh-ha
Und ich kein Englisch
Kann ja sein das er das meint. Auch mal schön ein schuß ins blaue
[autoit]#include <Excel.au3>
[/autoit][autoit][/autoit][autoit]$sFilePath1 = "C:\Test.xls"
$oExcel = _ExcelBookOpen($sFilePath1)
$oExcel.Columns("A:A" ).ColumnWidth = 40.285
$oExcel.Selection.RowHeight = 40
mfg
oh-ha
Danke dir,
denke mal das es das ist was ich gesucht habe und nie gefunden hätte. ![]()
mfg
oh-ha
@ Kleiner
Habe das mal getestet aber bekomme das entweder nicht hin oder geht so nicht.
mfg
oh-ha
ups hatte ich die schleife in die funktion gepackt
War wohl eher ein Versehen beim schnellen erstellen dieser Testgui.
Zitat von SchnuffelVielleicht kannst Du die gesamte Anzeige in eine Funktion packen und immer mit dem jeweiligen Array aufrufen...
Der Rest ergibt sich dann aus der Anzahl an Elementen...
Ähm bin da nun eine Woche dran und habe so einiges durchgetestet auch als eigene Funktion aber habe immer den selben Effekt gehabt wie in der Testgui.
Habe auch mal 64 Checkboxen erstellt und diese dann über eine For-Schleife benannt aber immer mit dem selben Ergebnis.
Komme da irgendwie nicht weiter.
mfg
oh-ha
Hallo Schnuffel,
dies ist nur eine Testgui gewesen die ich nur zur Veranschaulichung gemacht habe.
In den eigentlichen Skript ist diese gui eine von zweien und das dann auch noch leider die zweite.
Deshalb als Funktion. Komme ich leider auch nicht dran vorbei.
So wie du das umgeschrieben hast geht das auch nur was mache ich wenn ich 5 Tabellen habe die ich umschalten möchte ?
Habe da wohl ein wenig den Faden verloren.
mfg
oh-ha
Moin moin,
Bräuchte mal Hilfe beim löschen von Checkboxen.
Ich generiere anhand der Spaltenanzahl einer Excel Tabelle ebenso viele Checkboxen und benenne diese mit den Einträgen aus den Zellen der Spalte.Maximal können dies 64 Checkboxen sein.
Soweit geht das auch alles.
Nur habe ich verschiedene Tabellen, 5 an der Zahl, die ich über Radiobuttons in der selbigen gui anzeigen lassen möchte.
Wie bekommt man es hin das man die vorher angezeigten Checkboxen gelöscht bekommt um die neuen anzeigen zu lassen
Habe mal eine Gui gemacht mit zwei Radios. Die kann es wohl besser ausdrücken was ich möchte
#include <GuiDateTimePicker.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <Excel.au3>
#include <Array.au3>
#include <File.au3>
#include <GuiComboBox.au3>
#include <Date.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <string.au3>
#include <hotkeys.au3>
#include <Misc.au3>
#include <_ToolTipMouseExit.au3>
#include <GuiEdit.au3>
#include <GuiConstantsEx.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]testgui()
Func testgui()
$Form1 = GUICreate("Testgui", 746, 450, 258, 119)
$Group2 = GUICtrlCreateGroup("Spalten Löschen für & $neulabel", 4, 30, 737, 338, BitOR($GUI_SS_DEFAULT_GROUP,$BS_LEFT))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Radioeinaus1 = GUICtrlCreateRadio("testtabelle1", 305, 401, 89, 17, BitOR($GUI_SS_DEFAULT_RADIO,$BS_LEFT))
$Radioeinaus2 = GUICtrlCreateRadio("testtabelle2", 403, 401, 73, 17, BitOR($GUI_SS_DEFAULT_RADIO,$BS_LEFT))
$beenden = GUICtrlCreateButton("Beenden", 500, 395, 120, 25)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "beenden")
GUICtrlSetOnEvent($Radioeinaus1, "testtabelle1")
GUICtrlSetOnEvent($Radioeinaus2, "testtabelle2")
GUICtrlSetOnEvent($beenden, "beenden")
While 1
Sleep(50)
WEnd
EndFunc;==>testgui
Func testtabelle1()
$Open = FileOpenDialog("",@ScriptDir,"(test1.xls)")
$oExcel = _ExcelBookOpen($Open)
$Spalten = $oExcel.Worksheets(1).UsedRange.Columns.Count
$Spalten = $Spalten+2
Local $Checkbox[$Spalten]
Dim $aArray[$Spalten]
For $i = 1 To UBound($aArray) -1
$aArray[$i] = _ExcelReadArray($oExcel, 1, $i, 1, 1)
_ArrayToClip($aArray[$i])
$ddd = (ClipGet())
IniWrite(@ScriptDir & "\test.ini", "Zeile1", $ddd, "")
Next
_ExcelBookClose($oExcel)
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile1")
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0]-1
$top = 25 + ($i * 20)
$left = 25
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
Next
EndIf
EndFunc;==>testtabelle1
[/autoit] [autoit][/autoit] [autoit]Func testtabelle2()
$Open = FileOpenDialog("",@ScriptDir,"(test2.xls)")
$oExcel = _ExcelBookOpen($Open)
$Spalten = $oExcel.Worksheets(1).UsedRange.Columns.Count
$Spalten = $Spalten+2
Local $Checkbox[$Spalten]
Dim $aArray[$Spalten]
For $i = 1 To UBound($aArray) -1
$aArray[$i] = _ExcelReadArray($oExcel, 1, $i, 1, 1)
_ArrayToClip($aArray[$i])
$ddd = (ClipGet())
IniWrite(@ScriptDir & "\test.ini", "Zeile2", $ddd, "")
Next
_ExcelBookClose($oExcel)
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile2")
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0]-1
$top = 25 + ($i * 20);
$left = 25;
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
Next
EndIf
EndFunc;==>testtabelle2
Func beenden()
Exit
EndFunc;==>beenden
mfg
oh-ha
Danke euch,
geht nun so wie es soll. ![]()
mfg
oh-ha
Danke dir
man man, manchmal hat man aber auch Tomaten auf den Augen.
Habe es nun so gemacht:
[autoit]$lesekopf1 = StringReplace(GUICtrlRead($combo), "/", "-", 0, 2)
$k1 = FileOpen(@ScriptDir & "\Skripte\Start\Liste\" & $lesekopf1 & ".ini", 10)
FileClose($k1)
mfg
oh-ha
moin Oscar
Also gibt es da keine möglichkeit das zu umgehen ?
Könnte man es so machen das ein "\" in ein "-" gewandelt wird sollte da mal ein "\" in der Variablen vorkommen?
Und wenn ja wie?
mfg
oh-ha
moin moin,
habe da ein Problem beim Erstellen einer *.ini Datei.
Habe eine Variable mit einen "\" die mir dann aber einen Neuen Ordner bis zum "\" anlegt und die *.ini nach dem "\".
Hatte es mit dem erstellen eines Files Probiert.
[autoit]$k1 = FileOpen(@ScriptDir & "\Skripte\Start\Liste\" & GUICtrlRead($combo) & ".ini", 10)
[/autoit]
und mit dem erstellen einer *.ini
IniWrite(@ScriptDir & "\Skripte\Start\Liste\" & GUICtrlRead($combo) & ".ini", "", "", "")
[/autoit]Wird die *.ini auch nicht erstellt.
Wobei in beiden Fällen " $combo = meine\seine " ist.
Kann man das irgent wie umgehen das der "\" nicht als zeichen angesehen wird ?
mfg
oh-ha
Sorry,
das ich mich erst jetzt Melde. Musste für ein paar Tage ins Ausland und da gab es kein Internet.
autoBert
Hat mit Bequemlichkeit wohl weniger zu tun als mehr mit Unwissenheit. Da ich nicht wusste wie ich so etwas umsetzen sollte.
Aber da hast du mir ja eine Steilvorlage gegeben. Werde das mal Testen und dann berichten ob es so geht.
sc4ry
Verstehe den Ansatz noch nicht so ganz aber werde auch das mal probieren.
Danke euch beiden und nichts für Ungut das ich erst jetzt darauf Antworte aber Beruf geht nun mal vor.
mfg
oh-ha
Hallo Andy,
darüber hatte ich auch schon nachgedacht aber in der ersten Zelle können über 100 Einträge sein mal mehr oder weniger und das auch noch variabel .
Da habe ich diesen Gedanken mal schnell wieder fallen lassen.
Das Problem, wie BugFix wohl richtig festgestellt hat, liegt darin das die *.xls die ich umbenenne in eine *.csv wohl nicht das richtige Format hat.
Wenn ich die Datei über Excel öffne Arbeitsmappe öffnen >> 1.xls macht sich der Text-Assistent auf. Wenn ich da auf Trennzeichen " Semikolon " gehe und auf>> Weiter macht Excel ja die Tabelle richtig auf. Nur halt nicht mit den Code aus Post1 der das ja eigentlich simulieren sollte.
mfg
oh-ha
Das kann durchaus sein in der ersten Zelle " A1 " sind alle Überschriften drin was bei den anderen Tabellen die von dem Programm erstellt
werden nicht der Fall ist. Das ärgerliche ist halt nur das man Excel über Autoit nicht beibringen kann diese so aufzumachen das man etwas damit anfangen kann.
Über Excel selber stellt dies ja kein Problem dar, nur kann man das dann halt nicht automatisieren.
Naja muss ich mich halt mit abfinden das ich diese Tabellen nicht bearbeiten kann. Kann ja sein das die mal ein Update rausringen der diesen
Bug behebt.
Danke dir für die mühen.
Edit: soll man das jetzt auf gelöst stellen oder nicht grübel grübel.
mfg
oh-ha
Geht bei mir auch mit deinem Muster.
Wird das wohl an der csv Datei liegen.
Was mich nur wundert ist das man sie problemlos über den Text-Assistenten von Excel öffnen kann.
Nur mit dem Code geht es halt nicht.
mfg
oh-ha
Moin BugFix,
Diese *.xls Datei ist eigentlich eine *.csv Datei mit " ; " als Trennzeichen. Ist wohl ein Fehler in der Software die diese Tabelle ausgibt.
Ich benenne die *.xls beim kopieren in eine *.csv Datei um nur habe ich vergessen das mitzuposten. SORRY
Edit:
Wenn ich die Tabelle so öffne zeigt Excel sie mir mit den Trennzeichen an nur wenn ich sie über den Text-Assistenten öffne wird sie mir
richtig angezeigt.
mfg
oh-ha
moin moin,
Kann man den Text-Assistenten von Excel so steuern über Autoit das er eine *.csv Datei richtig öffnet ?
Hier mal das Aufgezeichnete Makro ohne die Arrays:
ChDir "C:\"
Workbooks.OpenText FileName:="C:\1.xls", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=False, _
Space:=False, Other:=False
Dann daraus das gemacht, ist nicht von mir sondern aus einem englischen Forum, nur das dem da leider nicht weitergeholfen wurde.
Dim $oExcel
$oExcel = ObjCreate("Excel.Application")
$oExcel.Visible = 1
$oExcel.Workbooks.OpenText("C:\1.csv", _
1, _ ; Origin
1, _ ; StartRow
1, _ ; DataType = x1Delimited
1, _ ; TextQualifier = x1DoubleQuote
False, _ ; ConsecutiveDelimiter
True, _ ; Tab
True, _ ; Semicolon
False, _ ; Comma
False, _ ; Space
False, _ ; Other
)
_ExcelBookSaveAs($oExcel, "C:\Test.xls", "xls", 0, 1, "", "")
Nur geht das so nicht.
Komme da einfach nicht weiter.
mfg
oh-ha