1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. djbeatstar

Beiträge von djbeatstar

  • Excel xlsx datei erstellen ohne Excel zu benutzen

    • djbeatstar
    • 12. September 2018 um 15:17

    Moin moin Freunde.

    Ich hab ne interessante idee. ich hab mal eine von den neuen Excel Dateien auseinander genommen. das sind im prinzip nichts weiter als ein haufen zusammen gezipter XML Dateien. alles Plaintext. und das Ziparchiv ist halt einfach in eine xlsx datei umbenannt.

    wenn ich nun einen gazen haufen Daten (z.B. Die arbeitszeiten eines ganzen Jahres.) über ein AutoIt script in ein Exceldokument füttern will, dauert das über die "Offizielle" Excel.au3 UDF relativ lange. (je nach leistung des Rechners kann das zwischen 1 und 3 Minuten dauern.)

    Plain Text kann AutoIt um einiges Flotter einfach mal eben so schreiben, als ein Exceldokument. da sollte das ganze in einigen sekunden abgehakt sein.

    meine idee also. vielleicht hat einer von euch ja richtig viel ahnung von AutoIt und Excel und Könnte eine UDF erstellen, die Excel XML dateien im Standart Excel format (so wie hier das format beschrieben wird.) erzeugt, diese gleich zusammen zip't und einfach in "dateiname.xlsx" umbenennt.

    Wenn da irgendjemand das KnowHow und die Lust und laune dazu hätte, wäre das echt Bombe. :D Das würde viele prozesse die mit Excel zu tun hat extremst beschleunigen.

    Mit freundlichen Grüßen

    DJBeatstar

  • Excel Kopfzeile innerhalb eines Skiptes ändern

    • djbeatstar
    • 10. April 2018 um 13:38

    Vielen dank alpines.

    das war genau die Information die ich gebraucht habe. 8o

    hier die Lösung die bei mir gerade seine arbeit tut. :party:

    Code
    For $oWorkbook In $oExcel.Worksheets
        if $oWorkbook.Name = "Gesuchtes Arbeitsblatt" Then
            With $oWorkbook.PageSetup
                .LeftHeader = ""
                .CenterHeader = $monat & " " & $jahr
                .RightHeader = ""
            EndWith
        EndIf
    Next

    :part::part:

    Ich freu mich das es endliche klappt.

    Falls jemand das gleiche problem hat, nur keine Scheu. klaut euch meine Lösung die ich dank alpines zusammen genagelt hab. :rock:

    einen schönen Tag wünsche ich allen ^^

  • Excel Kopfzeile innerhalb eines Skiptes ändern

    • djbeatstar
    • 10. April 2018 um 12:59

    Das ist eine Prima idee. allerdings hab ich mit Objekten relativ wenig erfahrung. es währe nett wenn du mir zeigen könntest, wie man das anstellt. die Beschreibung durch das AutoIt Handbuch gibt zu so speziellen sachen leider nicht all zu viel her.

    mein persönlicher ansatz währe ja auch gewesen einfach das entsprechende Worksheet direkt an zu sprechen. ich weiß nur leider nicht wirklich wie.

  • Excel Kopfzeile innerhalb eines Skiptes ändern

    • djbeatstar
    • 10. April 2018 um 11:50

    Moin alle zusammen. :)

    Ich hab mich mal hier im Forum schlau gelesen zum Thema "Kopfzeile in Excel" Ich würde diese derne Ändern, und habe dazu folgendes gefunden.

    Excel Kopfzeile automatisch ändern

    darin einen Codeschnipsel, mit einer Lösung. (Danke an water)

    Code
    ; inserts the same header/footer in all worksheets
    For $oWorkbook In $oExcel.Worksheets
        With $oWorkbook.PageSetup
            .LeftHeader = ""
            .CenterHeader = $monat & " " & $jahr
            .RightHeader = ""
        EndWith
    Next

    Das funktionier auch soweit alles wunder bar. Es gibt nur ein Problem. In der Exceldatei befinden 12 Arbeitsblätter. und der Code schreibt die Kopfzeile bei allen 12 um. ich möchte das die Kopfzeile nur bei einem einzigen definierbarem arbeitsblatt geändert wird.

    würde mich freuen wenn einer von euch da vieleicht einen Codeschnipsel hätte.^^

    Vielen dank schon mal.

  • Probleme mit RMchart.au3

    • djbeatstar
    • 30. Mai 2013 um 00:49

    Moin!

    Ersteinmal ein ganz herzliches danke an @progandy für die wunderbare UDF und an autoBert und Macimac für die gute Vorarbeit. denn darauf basierend bin ich jetzt dabei eine Monitoring Software für Windows Homeserver und andere Windows Server zu schreiben. Ich stehe damit allerdings noch ganz am Anfang. nun zu meinem Problem...

    bis jetzt bekomme ich wunderschöne Balkendiagramme, die in PNG Files gespeichert werden. nun ist so ein balkendiagram aber nicht gerade dazu geeignet CPU und RAM Lasten über einen größeren Zeitraum dar zu stellen. deswegen hier meine frage, wie stelle ich den Code auf Liniendiagramme um. ich habe mal meine bisherigen versuche angehängt.

    Mit freundlichen grüßen

    DJBeatstar

    Dateien

    AutoServer Monitoring.rar 132,53 kB – 447 Downloads
  • 3CX Phone mit einem AutoItscript ansprechen

    • djbeatstar
    • 7. Oktober 2012 um 19:22
    Zitat von Christoph54

    Am beten wäre es dann wohl, wenn du erst einmal erklären würdest, was ein "3cxPhone" denn ist und dann vielleicht auch noch wie man es ansprechen/benutzen kann. Denn ich für meinen teil werde mir sicher nicht das 100 Seiten Handbuch durchlesen um dann festzustellen, dass du das aber gerne so und so machen würdest... ;)


    Also das 3CXPhone ist ein programm für WindowsPC mit dem man Telefonieren kann. API's habe ich nur für VB und C# gefunden. das sind beides sprachen die nun mal sp überhaup gar nicht behersche. aber ich häne die Dokumentation gerne mal mit an. villeicht kann einer von euch was damit anfangen.

    was zu meinen ansprüchen zählt ist folgendes. habe in einem sript eine inputbox mit der GUICtrl ID $telnr und 2 knöpfe mit den ID's $call und $hang.

    bei case $call soll folgendes ablaufen;

    Telefonnummer wird aus GUICtrl $telnr ausgelesen und in die Variable $number geschrieben

    3CXPhone wird angewiesen eine telefonverbindung zur nummer $number auf zu bauen

    bei Case $hang

    jede aktive verbindung von 3CX soll beendet werden und es soll wieder auf ein $call event gewartet werden.

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("3CX Diler", 242, 136, 192, 124)
    $telnr = GUICtrlCreateInput("", 104, 32, 121, 21)
    $Label1 = GUICtrlCreateLabel("Telefonnummer:", 16, 32, 80, 17)
    $call = GUICtrlCreateButton("Anrufen", 16, 72, 99, 25, $WS_GROUP)
    $hang = GUICtrlCreateButton("Auflegen", 128, 72, 99, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    Case $call
    $number = GUICtrlRead ($telnr)
    ;makecall with $number

    [/autoit][autoit][/autoit][autoit]

    Case $hang
    ;terminate curent call
    EndSwitch
    WEnd

    [/autoit]

    das ist auch schon alles was ich möchte. währe froh wenn da jemand währe der mir erklärt wie ich die API in der angehängten doku benutzen könnte. :)

    Gruß

    DJBeatstar


    PS.:

    Musste die API Doku in 3 teile splitten weil das forum bei einem File sagt das es zu groß währe! :(

    Dateien

    3CX API Doku.part1.rar 1 MB – 458 Downloads 3CX API Doku.part2.rar 1 MB – 450 Downloads 3CX API Doku.part3.rar 279,51 kB – 486 Downloads
  • 3CX Phone mit einem AutoItscript ansprechen

    • djbeatstar
    • 7. Oktober 2012 um 03:42

    Moin!

    Ich würde gerne das Programm "3CXPhone" mit einem AutoIt Script ansteuern. dabei möchte ich Anrufe tätigen, uberwachen wie lange eine verbindung steht, und wieder auflegen können.

    Falls einer ne idee hat wie ich das am besten realisieren kann, währe ich dankbar für einen Codefetzen, den ich benutzen kann.

    Mit freundlichen grüßen

    DJBeatstar

  • komplexer Synthesizer (Bass.dll)

    • djbeatstar
    • 16. Juli 2012 um 03:04

    Ist zwar schon ziemlich alt der Thread, aber ich muss einfach mein Kompliment an den Coder los werden. es ist einfach unglaublich was mit AutoIt alles möglich ist. und das dieses Script auch noch so reibungslos funktioniert, ist einfach unfassbar. mit diesem quellcode habe ich noch einige zeit zu tun, um mir da einige methoden ab zu schauen.

    Ich programiere jetzt seit etwa ein einhalb jahre mit Autoit, aber sowas ist mir noch nicht untergekommen. solche synthesiser programme kosten doch sonst richtig schotter. oder? RESPEKT!!! :thumbup:


    Gruß DJBeatstar :rock:

  • Microsoft SQL UDF

    • djbeatstar
    • 28. November 2011 um 11:46

    Moin! Ich habe auch dieses seltsame problem.

    Die Fehlermeldung:
    Line 32 ...mssql.au3
    Return $iSQLCon.execute($iQuery) ^ERROR
    Error: The requested action with this objekt has failed
    ########################

    und dabei habe ich mir um die Funktionen überhaupt erst mal zu begreifen an einem Originalsript orientiert und dieses auf meine Datenbank angepasst.

    Code
    #include "mssql.au3" 
    $sql = _SQLCon("DJBeatstar-PC\SQLEXPRESS", "sa", "********", "ACCOUNT") 
    $var = _SQLQuery($sql, "Select * From dbo.TB_Users WHERE StrUserID='djbeatstar'") 
    
    
    With $var 
    While Not .EOF 
    MsgBox(0, 'Output', .Fields("JID").value) 
    .MoveNext 
    WEnd 
    EndWith 
    _SQLEnd($sql)
    Alles anzeigen

    Also wenn ich das Script jetzt richtig verstanden habe, sollte er sich jedt in die Datenbank einloggen,

    Code
    $sql = _SQLCon("DJBeatstar-PC\SQLEXPRESS", "sa", "********", "ACCOUNT")

    und das Row mit dem wert "djbeatstar" im feld "StrUserID" aus der tabelle "dbo.TB_Users" suchen und in ein array in der variable "$var" ablegen

    Code
    $var = _SQLQuery($sql, "Select * From dbo.TB_Users WHERE StrUserID='djbeatstar'")

    danach sollte er dann den wert "JID" aus der row suchen und ausgeben.

    Code
    With $var 
    While Not .EOF 
    MsgBox(0, 'Output', .Fields("JID").value) 
    .MoveNext 
    WEnd 
    EndWith

    habe ich das jetzt richtig verstanden? wo ist mein fehler? habe das Script aus dem ersten post 1 zu 1 übernommen und nur die Werte auf meine Datenbank angepasst. Wo ist mein Fehler? bin am verzweifeln. ich kann einfach keinen fehler finden. bin auch noch nicht al zu erfahren in AutoIt und noch weniger in SQL. währe also für einen tipp oder einen Hinweis sehr dankbar. ;)


    OK. Hat sich erledigt Hab mich viel zu sehr in syntaxen verrannt, und dabei einen einfach Tippfehler übersehen. die Tabelle ist nicht "dbo.TB_Users" sonder "dbo.TB_User" :rofl:

  • Portable App Studio

    • djbeatstar
    • 9. September 2010 um 09:13

    Also ich hatte in meinen Quellcode keinen Existierenden server eingetragen. hab jetzt einfach mal ein par daten zusammen gepackt, damit ihr das ganze auch testen könnt. in dem RAR File sind alle datein vorhanden die man benötigt.

    alle INI's und auch die "unzip.exe"

    Habe dabei einen alten server von mir benutzt um ein par Apps dort abzulegen. :)

    das ganze programm ist für einen USB Stick kozipiert worden. damit hat man eine Zentrale schnittstelle für Portable Apps wie z.B. FireFoxPortable und andere. diese Apps können im programm selber jetzt aus dem Internet geladen werden.

    Im übrigen bin ich auch dankbar für alle verbesserungsvorschläge.

    Edit:

    Ich hatte einige Schwirigkeiten mit meinem Server. jetzt sollte alles wieder funktionieren. :)

    Dateien

    AppStudio.rar 600,16 kB – 518 Downloads
  • Portable App Studio

    • djbeatstar
    • 8. September 2010 um 19:57

    Moin!

    Ich hatte mir vorgenommen ein bisschen mehr über AutoIt zu lernen. dazu habe ich mir einfach mal ein Projekt ausgedacht, und es angefangen. hier mal mein Code.

    Ach ja, und noch mal... Ich bin anfänger. geht also bitte nicht zu hart mit mir ins gericht. :p


    [autoit]


    #cs ----------------------------------------------------------------------------
    DJBeatstar's Portable App Studio Deluxe
    Author: DJBeatstar in DJBeatstar Design
    (C) 2010 By Stefan Parpart A.K.A. DJBeatstar
    v. 1.2
    #ce ----------------------------------------------------------------------------
    #include <GUIConstants.au3>
    Global $main, $apploader
    ;Settings werden gelesen
    if IniRead(@ScriptDir & "\data\settings.ini", "Configuration", "splash", "") = "1" Then
    SplashImageOn ("DJBeatstar's Portable Apps Stidio DELUXE", @ScriptDir & "\data\splash.bmp",640, 480, @DesktopWidth/2-320, @DesktopHeight/2-240, 1)
    sleep (3000)
    SplashOff()
    EndIf
    ;Settings lesen Ende
    maingui()
    Func maingui()
    ;Gui wird aufgebaut
    #Region ### START Koda GUI section ### Form=F:\DJBeatstar's Portable App Studio Deluxe\Main Window.kxf
    $main = GUICreate("DJBeatstar's Portable Apps Studio DELUXE v1.2", 530, 501)
    GUICtrlCreatePic(@ScriptDir & "\data\side.bmp", 304, 0, 225, 500)
    $applist = GUICtrlCreateListView("Programmname", 16, 32, 265, 305)
    $apps = GUICtrlCreateGroup("Apps", 8, 0, 281, 345)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $run = GUICtrlCreateButton("Run App", 8, 352, 81, 25, 0)
    $explore = GUICtrlCreateButton("Explore Stick", 208, 352, 83, 25, 0)
    $cmd = GUICtrlCreateButton("Open CMD Console", 8, 384, 123, 25, 0)
    $apploader1 = GUICtrlCreateButton("Check for new Apps", 168, 384, 123, 25, 0)
    $splash = GUICtrlCreateCheckbox("SplashImage bei jedem start anzeigen", 8, 448, 201, 17)
    if IniRead(@ScriptDir & "\data\settings.ini", "Configuration", "splash", "") = "1" Then
    GUICtrlSetState(-1, $GUI_CHECKED)
    EndIf
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;Appliste
    For $i = 1 To IniRead(@ScriptDir & "\data\settings.ini", "appno", "apps", "") step 1
    $appname = IniRead(@ScriptDir & "\data\settings.ini", "apps", $i, "")
    $item1=GUICtrlCreateListViewItem($appname, $applist)
    Next
    ;Appliste Ende
    ;Gui Aufbau Ende

    [/autoit][autoit][/autoit][autoit]

    ;Hauptprogramm
    While 1
    $Msg = GUIGetMsg(1)
    Select
    case $Msg[0] = $run
    $app = GUICtrlRead(GUICtrlRead($applist))
    Run (@ScriptDir & "\Apps" & IniRead(@ScriptDir & "\data\settings.ini", "appexe", $app, ""))
    Case $Msg[0] = $GUI_EVENT_CLOSE And $Msg[1] = $main
    Exit
    Case $Msg[0] = $splash
    IniWrite(@ScriptDir & "\data\settings.ini", "Configuration", "splash", GUICtrlRead($splash))
    Case $Msg[0] = $cmd
    Run (@WindowsDir & "\System32\cmd.exe")
    Case $Msg[0] = $explore
    Run (@WindowsDir & "\explorer.exe " & @ScriptDir)
    Case $Msg[0] = $apploader1
    apploader()

    [/autoit][autoit][/autoit][autoit]

    EndSelect
    WEnd
    ;Hauptprogramm Ende
    EndFunc
    ;AppLoader
    Func apploader()
    ;Appliste laden
    InetGet ("http://ServerXYZ.de/asd/newapps.ini", "newapps.ini", 1, 0)
    ;Appliste laden Ende
    ;AppLoader Gui aufbauen
    #Region ### START Koda GUI section ### Form=E:\Daten\SourceCodes\DJBeatstar's Portable App Studio Deluxe\AppLoader.kxf
    $apploader = GUICreate("DJBeatstar's Apps Studio Deluxe 1.0 AppLoader", 530, 501)
    GUICtrlCreatePic(@ScriptDir & "\data\side.bmp", 304, 0, 225, 500)
    $newapps = GUICtrlCreateListView("Programmname", 16, 32, 265, 305)
    ;Appliste für neue Apps
    For $i = 1 To IniRead(@ScriptDir & "\newapps.ini", "newapps", "no", "") step 1
    $newappname = IniRead(@ScriptDir & "\newapps.ini", "newapps", $i, "")
    $item1=GUICtrlCreateListViewItem($newappname, $newapps)
    Next
    ;Appliste für neue Apps Ende
    GUICtrlCreateGroup("New Apps", 8, 0, 281, 345)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $load = GUICtrlCreateButton("Load App", 8, 352, 281, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;AppLoader Gui aufbauen Ende

    [/autoit][autoit][/autoit][autoit]

    ;AppLoader Hauptfuntion
    While 1
    $Msg = GUIGetMsg(1)
    Select
    Case $Msg[0] = $GUI_EVENT_CLOSE And $Msg[1] = $apploader
    ;Apploader schließe
    GUISetState (@SW_HIDE, $apploader)
    ExitLoop
    ;Apploader schließe Ende
    Case $Msg[0] = $load
    ;Appdaten einlesen
    Global $app2load = GUICtrlRead(GUICtrlRead($newapps))
    Global $apparc = IniRead(@ScriptDir & "\newapps.ini", "apparc", $app2load, "")
    ;Appdaten einlesen Ende
    ;Progressbar erstellen
    $progress = GUICtrlCreateProgress (8, 400, 281, 20)
    ;Progressbar erstellen
    ;Download der App
    Local $hDownload = InetGet("http://ServerXYZ.de/asd/apps/" & $apparc, @ScriptDir & "\Apps\" & $apparc, 1, 1)
    ;Progressbar mit daten versorgen
    Do
    $size = InetGetSize ("http://ServerXYZ.de/asd/apps/" & $apparc)
    $percent = InetGetInfo ($hDownload,0) * 100 / $size
    GUICtrlSetData ($progress,$percent)
    Sleep (1000)
    Until InetGetInfo($hDownload, 2)
    Local $nBytes = InetGetInfo($hDownload, 0)
    ;Progressbar mit daten versorgen
    InetClose($hDownload)
    ;Download der App Ende
    ;Entpacken der App
    InetGet ("http://ServerXYZ.de/asd/apps/" & $apparc & ".cmd", @ScriptDir & "\" & $apparc & ".cmd", 1, 0)
    run (@ScriptDir & "\" & $apparc & ".cmd")
    ;Entpacken der App Ende
    ;Auf entpacken warten
    wait()
    ;Auf entpacken warten ende
    ;Integrieren der App
    $no = IniRead(@ScriptDir & "\data\settings.ini", "appno", "apps", "")
    $appnamenew = IniRead(@ScriptDir & "\Apps\setup.ini", "setup", "name", "")
    $exe = IniRead(@ScriptDir & "\Apps\setup.ini", "setup", "exe", "")
    IniWrite(@ScriptDir & "\data\settings.ini", "appno", "apps", $no+1)
    IniWrite(@ScriptDir & "\data\settings.ini", "apps", $no+1, $appnamenew)
    IniWrite(@ScriptDir & "\data\settings.ini", "appexe", $appnamenew & "|", $exe)
    ;Integrieren der App Ende
    ;Restart MainGui und AppLoader schließen
    GUIDelete ($main)
    GUIDelete ($apploader)
    FileDelete (@ScriptDir & "\" & $apparc & ".cmd")
    FileDelete (@ScriptDir & "\Apps\setup.ini")
    FileDelete (@ScriptDir & "\newapps.ini")
    maingui()
    ;Restart MainGui und AppLoader schließen Ende
    EndSelect
    WEnd
    ;AppLoader Hauptfuntion Ende
    EndFunc
    ;Apploader ende
    Func wait()
    while 3
    if Not ProcessExists ("cmd.exe") Then
    ExitLoop
    EndIf
    Sleep(10)
    WEnd
    EndFunc

    [/autoit]


    PS.: FÜr anregungen und verbesserungen bin ich immer gerne zu haben.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™