super, jetzt macht es was es soll...
dank dir
wie würden denn die " fertigen Funktionen" aussehen?
super, jetzt macht es was es soll...
dank dir
wie würden denn die " fertigen Funktionen" aussehen?
ja, soweit so gut, aber die zelle ist ja variabel und nicht fest...wie würde ich das denn machen?
hab jetzt das:
$oExcel = ObjGet("","Excel.Application")
$zeile = $oExcel.ActiveCell.Row
$Cell1 = "A"&$zeile
$Cell2 = "D"&$zeile
$Hostname = _Excel_RangeRead($oExcel, Default, $Cell1)
$tv_id = _Excel_RangeRead($oExcel, Default, $Cell2)
der liest aber immer 0 aus
ich möchte aber keine range auslesen sondern eine einzelne zelle, wie in meinem Beispiel...
Hallo zusammen,
ich habe folgendes Problem. Ich habe die neueste Versio, 3.3.12.0, installiert, und damit funktioniert die Funktion "_ExcelReadCell" wohl nicht mehr. Unter der 3.3.8.1 ging es problemlos. Ich bekomme folgenden Fehler: "Unknown function name"
Der Skriptteil sieht so aus:
$oExcel = ObjGet("","Excel.Application")
$zeile = $oExcel.ActiveCell.Row
$Hostname = _ExcelReadCell($oExcel, $zeile, 1)
$tv_id = _ExcelReadCell($oExcel, $zeile, 4)
Was muss ich tun damit es wieder funktioniert?
Gruß
scheilo
Danke für die vielen Lösungsvorschläge, habe es mit "GUICtrlCreateDate" umgesetzt. Das Layout von Phil-IT ist sehr schick. Danke dafür.
Gruß
scheilo
Moin zusammen,
gibts es eine Möglichkeit ein Datum in eine Variable zu schreiben ohne Tastatureingabe. Schön wäre es, wenn ein kleiner Kalender aufgeht, indem man ein Datum anklicken kann und dieses dann in eine Variable geschrieben wird. Zur Zeit mache ich das über eine Inputbox, in der ich das Datum per Hand eingebe.
Danke & Gruß
scheilo
Funktioniert, hatte nen Denkfehler im Skript.
Danke & Gruß
scheilo
Hab ich doch, siehe Quellcode 1. Post.
Nimmt aber immer den ersten Sheet.
Gruß
scheilo
Danke für die schnelle Antwort.
Ich habe eine Exceltabelle mit 4 Sheets. Wenn ich im Sheet 3 in Zelle B2 aktiv bin, soll Zeile 2 ausgegeben werden. Also nicht die Werte der Zeile 2, sondern nur die Zeilennummer.
Ich möchte immer nur die Zeile des aktiven Sheet ausgeben. Die anderen Sheets spielen dabei keine Rolle.
Gruß
scheilo
Guten Morgen,
ich hänge gerade an einem Problem fest. Und zwar möchte ich aus einer Excel-Datei mit mehreren Sheets bestimmte Daten lesen. Es soll erkannt werden, welche Zeile in welchem Sheet aktiv ist. Egal was ich mache, er liest mir immer nur die Daten aus Sheet 1.
Hier der erste Teil vom Script:
[autoit]#include <Excel.au3>
Opt("TrayIconHide", 1)
Opt("WinTitleMatchMode", 2)
$Masterliste = @ScriptDir & "\Masterliste.xls"
$user = "user"
WinSetState("Master", "", @SW_SHOW)
WinActivate("Master", "")
$oExcel = ObjGet("","Excel.Application")
$zeile = $oExcel.ActiveCell.Row
$oExcel1 = _ExcelBookOpen($Masterliste, 0, 1)
$k_schule = _ExcelReadCell($oExcel1, $zeile, 1)
$k_name = _ExcelReadCell($oExcel1, $zeile, 3)
$user_pw = _ExcelReadCell($oExcel1, $zeile, 5)
$tv_id = _ExcelReadCell($oExcel1, $zeile, 7)
$tv_pw = _ExcelReadCell($oExcel1, $zeile,
$os_server = _ExcelReadCell($oExcel1, $zeile, 9)
Jemand ne Lösung?
Gruß
scheilo
Vilen Dank für die schnelle Hilfe!
Gruß
scheilo
Moin zusammen,
ich habe ein kleines Problem mit Ckeckboxen. Ich habe einen GUI erstellt mit der Software installiert werden soll. Es gibt 6 Checkboxen und einen Button.
Der Button ist standardmäßig deaktiviert, und wird erst aktiv, wenn mindestens eine Checkbox auf "checked" gesetzt wird. Das habe ich mit
[autoit]
Case
$Checkbox1 To $Checkbox5
GUICtrlSetState($Button1, $GUI_Disable)
For $i = $Checkbox1 To $Checkbox5
If GUICtrlRead($i) = 1 Then
GUICtrlSetState($Button1, $GUI_enable)
EndIf
Next
gelöst. Jetzt kommt aber noch hinzu, dass Checkbox3 und Checkbox4 inaktiv sind und erst aktiviert werden sollen, wenn Checkbox2 auf "checked" gesetzt wird. Seitdem ich die Abhängigkeit drin hab, funktioniert das nicht mehr korrekt mit dem Button.
Hoffe, ihr könnt mir helfen...
Gruß
scheilo
genau das mache ich doch, sie Zeile 31...
Gruß
scheilo
Dake für die schnelle Antwort, aber das hilft mir leider nicht weiter, da bei den Namen zum Hinterlegen die ersten 5 Zeichen identisch sind
Gruß
scheilo
Hallo zusammen,
ich habe folgendes Problem:
Ich möchte über Autoit ca. 150 TeamViewer Sessions incl. Windows-Serveranmeldung verwaltbar machen. Ich habe mir bereits eine Gui "gebastelt" in der ich TeamViewer-ID und Kennwort per "copy&paste" einsetze und mit diesen Werten eine Session starte. Ist es möglich sämtliche TeamViewer-IDs so einzupflegen, dass diese über ein DropDown-Menü gestartet werden können bzw. ist es möglich durch eine Suchfunktion bzw. durch eingabe eines Strings die Einträge entsprechend einzugrenzen. Bisher sieht das Ganze so aus:
[autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstants.au3>
#include <GuiStatusBar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
$GUI = GUICreate("",200,125, -1, -1)
$tvidlabel = GUICtrlCreateLabel("TeamViewer ID" , 55, 10)
$tvid = GUICtrlCreateInput("" ,55,25,90,20)
$passwdlabel = GUICtrlCreateLabel("Passwort" , 55, 55)
$passwd = GUICtrlCreateInput("" ,55,70,90,20)
$connect = GUICtrlCreateButton("Verbinden" ,5,100,90,20)
$cancel = GUICtrlCreateButton("Abbrechen" ,105,100,90,20)
GUISetState(@SW_SHOW,$GUI)
While 1
$MSG = GUIGetMsg()
Switch $MSG
Case $connect
_Func1 ()
Case $cancel
Exit
Case -3
Exit
EndSwitch
WEnd
Func _Func1 ()
msgbox(65, "test", $title1)
;~ ; TeamViewer Session starten
RunWait("C:\Program Files (x86)\TeamViewer\Version7\TeamViewer.exe -i " & GuiCtrlRead($tvid) & " --Password meinPasswort")
Sleep(5000)
$msgbox = MsgBox(65, "Hinweis", "Bitte Strg+Alt+Entf Button drücken")
; Eingabe Benutzername
Send("meinBenutzer", 1)
; Eingabe Kennwort
Send("{TAB}")
Send(GuiCtrlRead($passwd), 1)
; Klick auf OK
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{ENTER}")
EndFunc
Über eure Hilfe wäre ich sehr dankbar.
Gruß
scheilo
Ok, aber trotzdem Danke. Du hast mir sehr geholfen.
Gruß
scheilo
Danke, es funktioniert.
Wie könnte man das Ganze denn kürzen, bin nämlich nicht so der Profi auf dem Gebiet. Im Moment bin ich zufrieden, dass die Skripte laufen.
Gruß
scheilo
Komme damit leider nicht weiter. Code habe ich mal angehängt.
Gruß
scheilo
#include <GUIConstants.au3>
#include <GuiStatusBar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
If @OSArch = "X64" Then
IniWrite(@TempDir & "\OSArch.ini", "OSArch", "OSArch", "64-Bit")
Else
IniWrite(@TempDir & "\OSArch.ini", "OSArch", "OSArch", "32-Bit")
EndIf
$OSArch = IniRead(@TempDir & "\OSArch.ini", "OSArch", "OSArch", "unbekannt")
$font1 = "Arial Fett Kursiv"
$font2 = "Arial Fett"
$Form1 = GUICreate("HP ProBook 6450b Notebook PC - Windows 7 " & $OSArch, 420, 390, -1, -1)
$Label1 = GUICtrlCreateLabel("Bitte wählen Sie die zu installierenden Treiber aus:", 8, 10, 400, 17)
GUICtrlSetFont( - 1, 9, 400, 4, $font1)
$Checkbox1 = GUICtrlCreateCheckbox("Ricoh Media Card Reader Driver", 8, 40, 400, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Intel Management Engine Components Treiber und Schnittstelle ", 8, 64, 400, 25)
$Checkbox3 = GUICtrlCreateCheckbox("LSI HDA-Modemtreiber(High-Definition Audio) für Microsoft Windows", 8, 88, 400, 25)
$Checkbox4 = GUICtrlCreateCheckbox("Installationsprogramm für Intel-Chipsatz", 8, 112, 400, 25)
$Checkbox5 = GUICtrlCreateCheckbox("Intel Matrix Storage Manager Driver", 8, 136, 400, 25)
$Checkbox6 = GUICtrlCreateCheckbox("Treiber für Synaptics TouchPad", 8, 160, 400, 25)
$Checkbox7 = GUICtrlCreateCheckbox("Wireless LAN-Treiber von Broadcom für Microsoft Windows 7", 8, 184, 400, 25)
$Checkbox8 = GUICtrlCreateCheckbox("Intel 82577LM und 82577LC Gigabit-Ethernet-Treiber für Microsoft Windows", 8, 208, 400, 25)
$Checkbox9 = GUICtrlCreateCheckbox("IDT-High-Definition-Audiotreiber(HD)", 8, 232, 400, 25)
$Checkbox10 = GUICtrlCreateCheckbox("Intel-HD-Grafiktreiber(High-Definition) mit Turbo Boost-Technologie", 8, 256, 400, 25)
$Checkbox11 = GUICtrlCreateCheckbox("HP 3D DriveGuard", 8, 280, 400, 25)
$Checkbox12 = GUICtrlCreateCheckbox("HP Hotkey Support", 8, 304, 400, 25)
$Button1 = GUICtrlCreateButton("Auswahl installieren", 8, 335, 130, 25, 0)
GUICtrlSetFont( - 1, 9, 400, 0, $font2)
$Button2 = GUICtrlCreateButton("Beenden", 345, 335, 60, 25, 0)
GUICtrlSetFont( - 1, 9, 400, 0, $font2)
$Button3 = GUICtrlCreateButton("Alles auswählen", 150, 335, 130, 25, 0)
GUICtrlSetFont( - 1, 9, 400, 0, $font2)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
Exit
Case $Button1
MsgBox(64, "Infomation", "Die Installation der ausgewählten Treiber auf einem " & $OSArch & " Betriebssystem startet mit einem Klick auf OK." & @CRLF & "Sobald die Installation abgeschlossen ist startet das Gerät neu.")
If GUICtrlRead($Checkbox1) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp46999\setup.exe -s")
If GUICtrlRead($Checkbox2) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp48062\setup.exe -s")
If GUICtrlRead($Checkbox3) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp48251\setup.exe -s")
If GUICtrlRead($Checkbox4) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp48432\setup.exe -s")
If GUICtrlRead($Checkbox5) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp48605\setup.exe -s")
If GUICtrlRead($Checkbox6) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp49415\setup.exe -s")
If GUICtrlRead($Checkbox7) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp49541\setup.exe -s")
If GUICtrlRead($Checkbox8) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp50479\setup.exe -s")
If GUICtrlRead($Checkbox9) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp50589\setup.exe -s")
If GUICtrlRead($Checkbox10) = 1 And @OSArch = "X86" Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp52376\setup.exe -s")
If GUICtrlRead($Checkbox10) = 1 And @OSArch = "X64" Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp52378\setup.exe -s")
If GUICtrlRead($Checkbox11) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp53544\setup.exe /q REBOOT=REALLYSUPPRESS")
If GUICtrlRead($Checkbox12) = 1 Then RunWait(@ScriptDir & "\HP6450b_Win7_Prof_x86_x64\sp53547\HPHKS.exe /q REBOOT=REALLYSUPPRESS")
MsgBox(64, "Hinweis", "Die Installation der Treiber wurde erfolgreich durchgeführt." & @CRLF & "Das Gerät startet in 10 Sekunden neu.", 10)
run('shutdown.exe -r -f -t 0')
Case $Button3
GUICtrlSetState($Checkbox1,$GUI_CHECKED)
GUICtrlSetState($Checkbox2,$GUI_CHECKED)
GUICtrlSetState($Checkbox3,$GUI_CHECKED)
GUICtrlSetState($Checkbox4,$GUI_CHECKED)
GUICtrlSetState($Checkbox5,$GUI_CHECKED)
GUICtrlSetState($Checkbox6,$GUI_CHECKED)
GUICtrlSetState($Checkbox7,$GUI_CHECKED)
GUICtrlSetState($Checkbox8,$GUI_CHECKED)
GUICtrlSetState($Checkbox9,$GUI_CHECKED)
GUICtrlSetState($Checkbox10,$GUI_CHECKED)
GUICtrlSetState($Checkbox11,$GUI_CHECKED)
GUICtrlSetState($Checkbox12,$GUI_CHECKED)
EndSwitch
WEnd
Hallo zusammen,
ich habe 12 Checkboxen die ich auswählen kann. Dann klicke ich den Button "Installieren" an und es wird gemacht was gewünscht ist. Jetzt zu meiner Frage: Wie bekomme ich es hin, dass der Button "Installieren" solange ausgeraut ist, bis eine oder mehrere Checkboxen aktiviert werden.
Danke & Gruß
scheilo
Hallo,
funktioniert alles wie es soll!
Vielen Dank für die schnelle Lösung!
Gruß
scheilo