VBA zu Autoit ( Ecxel )

  • Hallo,

    Bin immer noch dabei zu versuchen eine Excel Tabelle mit Autoit zu bearbeiten. Noch gebe ich nicht auf :D

    Bin dabei mich durch die Hilfe von VBA zu kämpfen und Versuche das dann in Autoit umzusetzen. Leider bleibt es meist beim Versuch ;(
    Bei Befehlen die ein True oder False beinhalten ( $oExcel.Selection.Font.Superscript = True ) kann man das problemlos einbauen oder auch nur eine Größenangabe ( $oExcel.Selection.Font.Size = 14 ).

    Aber wie kann man so was umsetzen ?

    With Worksheets(1)
    .Range(.Cells(1, 1), _
    .Cells(10, 10)).Borders.LineStyle = xlThick
    End With

    Dabei kommt es mir im besonderen auf das >> = xlThick << an.
    Hat da einer eine Idee ?


    mfg
    oh-ha

    Es gibt drei Wahrheiten: deine Wahrheit, meine Wahrheit und die Wahrheit

    Einmal editiert, zuletzt von oh-ha (10. Januar 2010 um 20:56)

  • guck dir mal die UDF an.. die wird dir sicher helfen!

    [autoit]

    #Include <Excel.au3>

    [/autoit]

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Hallo XovoxKingdom,

    Da ist derartiges so in der Form nicht drin.
    Das oben von mir genannte sollte auch nur als Beispiel dienen. Meine eigentlich wie man so etwas generell umsetzen kann.
    Habe auch schon die " ExcelCOM_UDF.au3 " genommen aber die geht bei mir nicht macht nur Fehlermeldungen.

    Code
    ERROR: $xlCalculationManual previously declared as a 'Const'
    			$xlCalculationManual = -4135


    und das geht dann auch so weiter mit den Fehlermeldungen.


    mfg
    oh-ha

    Es gibt drei Wahrheiten: deine Wahrheit, meine Wahrheit und die Wahrheit

  • Spoiler anzeigen
    [autoit]

    $oExcel = ObjCreate("Excel.Application")
    $oExcel.visible =1
    $oExcel.workbooks.add

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

    With $oExcel.activesheet
    .cells(2,2).value = 1
    .range("A1:B2").clear
    EndWith

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

    $oExcel.quit

    [/autoit]


    Aus der Hilfe zu With ... Endwith.

  • Hallo nuts

    Jo so weit war ich ja auch schon nur kann ich halt die spezifischen Funktionen nicht einordnen.
    Meine damit wie oben in meinen Beispiel halt so was wie >> = xlThick <<.
    Wie man diese abrufen kann in Autoit.


    mfg
    oh-ha

    Es gibt drei Wahrheiten: deine Wahrheit, meine Wahrheit und die Wahrheit

  • Habe ich aus der Hilfe von VBA

    Spoiler anzeigen

    Stellt den Rahmen eines Objekts dar.

    Verwenden des Border-Objekts
    Die meisten Objekte mit Rahmen (alle, mit Ausnahme der Range- und Style-Objekte) haben einen Rahmen, der als Einheit behandelt wird, unabhängig davon, wie viele Ränder er aufweist. Der gesamte Rahmen muss als Einheit zurückgegeben werden. Verwenden Sie die Border-Eigenschaft, um das Border-Objekt für solche Objekte zurückzugeben. Im folgenden Beispiel wird ein Diagrammblatt mit dem Namen Chart1 aktiviert und die Diagrammfläche des aktiven Diagramms mit einem gestrichelten Rahmen sowie die Zeichnungsfläche mit einem punktierten Rahmen versehen.

    Charts("chart1").Activate
    With ActiveChart
    .ChartArea.Border.LineStyle = xlDash
    .PlotArea.Border.LineStyle = xlDot
    End With

    Range- und Style-Objekte haben vier einzelne Rahmen - links, rechts, oben und unten -, die einzeln oder als Gruppe zurückgegeben werden. Verwenden Sie die Borders-Eigenschaft, um die Borders-Auflistung zurückzugeben, die alle vier Rahmen enthält. Im folgenden Beispiel erhält die Zelle A1 im ersten Arbeitsblatt eine Doppellinie als Rahmen.

    Worksheets(1).Range("A1").Borders.LineStyle = xlDouble

    Verwenden Sie Borders(Index), um ein einzelnes Border-Objekt zurückzugeben. Dabei gibt Index den Rahmen an. Im folgenden Beispiel wird die Farbe des unteren Rahmens des Zellbereichs A1:G1 festgelegt.

    Worksheets("Sheet1").Range("A1:G1"). _
    Borders(xlEdgeBottom).Color = RGB(255, 0, 0)

    Index kann eine der folgenden XlBordersIndex-Konstanten sein: xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight, xlEdgeTop, xlInsideHorizontal oder xlInsideVertical.

    Das obrige Beispiel war auch aus der Hilfe, hatte es jetzt auf die schnelle nicht gefunden. Aber das was im Spoiler steht ist ähnlich.
    Wie kann ich die Funktion >> xlDash oder xlDot << in Autoit benutzen ?

    Edit: ups war ich was zu Langsam. Danke dir progandy, werde ich mir mal anschauen.

    mfg
    oh-ha

    Es gibt drei Wahrheiten: deine Wahrheit, meine Wahrheit und die Wahrheit

  • Der Tip mit der Konstante war es. ;)
    Habe es nun so gelöst

    VBA Code aus der Hilfe :

    With Worksheets(1)
    .Range(.Cells(1, 1), _
    .Cells(10, 10)).Borders.LineStyle = xlThick
    End With

    So nach progandy Tip :

    With $oExcel.activesheet
    .Cells(10, 10).Borders.LineStyle = 4
    EndWith

    Danke noch mal


    mfg
    oh-ha

    Es gibt drei Wahrheiten: deine Wahrheit, meine Wahrheit und die Wahrheit

  • Übersichtlicher ist es so:

    [autoit]

    Global Const $xlThick = 4
    $oObject.irgendwas = $xlThick

    [/autoit]