Ein Array mit einer Schleife durchzuarbeiten ist eine Basistechnik die jeder beherrschen sollte. Die Tutorials sind daher genau der richtige Ansatzpunkt.
Durcharbeiten und die Beispiele zu verstehen versuchen. Wenn das klappt, dann erst an ein eigenes Projekt gehen.
Beiträge von water
-
-
Nimm die Funktion_ExcelReadSheetToArray. Sie liest ein komlettes Arbeitsblatt in einen Array den Du dann in einer Schleife verarbeiten kannst.
-
Also ich verstehe die bisher gegebenen Infos so:
- DSOFile.dll gibt Dir die Möglichkeit Attribute von Office Dokumenten zu ändern auch wenn Office gar nicht installiert ist
- Wenn Office installiert ist, danna geht das auch mit Funktionen aus der Word UDF oder direkt über COM
- Mit DSOFile lassen sich Properties anderer Dateitypen nicht ändern
- Dazu gibt es garantiert eine Windows API
-
Dann schau Dir mal auf dem engl. Forum XProTec an.
-
Wirf mal einen Blick in meine AD UDF. Da gibt es alles was Du brauchst. Funktion _AD_GetUserGroups bringt eine Liste aller Gruppen in denen ein User direkt MItglied ist.
-
Wenn Du immer Outlook als Mailprogramm zur Verfügung hast, dann kannst Du ja mein OutlookEX UDF verwenden.
-
Das nennt sich Inter Process Communication (IPC).
Im englischen Forum findest Du viele verschieden Ansätze dazu. Einfach un effizient scheint der Ansatz über den Mailslot zu sein. -
Was soll die Zeile
[autoit]local $oExcel=("Microsoft Excel - 14-90C334690-1")
[/autoit]machen?
Du brauchst ein Objekt wie es z.B. von _ExcelBookOpen geliefert wird. -
So isses. "UnRead=False" ist der korrekte Weg.
-
-
-
Ja, sowas z.B.:
[autoit]; #FUNCTION# ====================================================================================================================
[/autoit]
; Name...........: _Excel_RangeRead
; Description ...: Reads the value, formula or displayed text from a cell or range of cells of the specified workbook and worksheet.
; Syntax.........: _Excel_RangeRead($oExcel[, $oWorkbook = Default[, $oWorksheet = Default[, $vRange = Default[, $iReturn = 1]]]])
; Parameters ....: $oExcel - Excel application object
; $oWorkbook - Optional: Excel workbook object. If set to Default the active workbook will be used
; $oWorksheet - Optional: Excel worksheet object. If set to Default the active sheet will be used
; $vRange - Optional: Either a range object or an A1 range. If set to Default all used cells will be processed
; $iReturn - Optional: What to return of the specified cell:
; |1 - Value (default)
; |2 - Formula
; |3 - The displayed text
; Return values .: Success - Returns the data from the specified cell(s). A string for a cell, an zero-based array for a range of cells.
; Failure - Returns 0 and sets @error:
; |1 - $oExcel is not an object
; |2 - $oWorkbook is not an object
; |3 - $oWorksheet is not an object
; |4 - $vRange is invalid
; |5 - Parameter $iReturn is invalid. Has to be > 1 and < 3
; |6 - Error occurred when reading data. @extended is set to the error code returned when accessing the Value property
; Author ........: SEO <locodarwin at yahoo dot com>
; Modified.......: litlmike, water
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _Excel_RangeRead($oExcel, $oWorkbook = Default, $oWorksheet = Default, $vRange = Default, $iReturn = Default)
If Not IsObj($oExcel) Then Return SetError(1, 0, 0)
If $oWorkbook = Default Then $oWorkbook = $oExcel.ActiveWorkbook
If Not IsObj($oWorkbook) Then Return SetError(2, 0, 0)
If $oWorksheet = Default Then $oWorksheet = $oWorkbook.Activesheet
If Not IsObj($oWorksheet) Then Return SetError(3, 0, 0)
If $vRange = Default Then $vRange = $oWorksheet.Usedrange
If IsString($vRange) Then $vRange = $oExcel.Range($vRange)
If Not IsObj($vRange) Then Return SetError(4, 0, 0)
If $iReturn = Default Then $iReturn = 1
If $iReturn < 1 Or $iReturn > 3 Then Return SetError(5, 0, 0)
Local $vResult
If $iReturn = 1 Then
$vResult = $oExcel.Transpose($vRange.Value)
ElseIf $iReturn = 2 Then
$vResult = $oExcel.Transpose($vRange.Formula)
Else
$vResult = $oExcel.Transpose($vRange.Text)
EndIf
If @error Then Return SetError(6, @error, 0)
Return $vResult
EndFunc ;==>_Excel_RangeRead -
-
Das Excel COM Modell besteht aus:
- Properties - Attribute, Eigenschaften eines Objektes
- Methods - Funktionen die auf ein Object angewendet werden
- Collections - Sammlung von Objekten
Angewendet auf
$oExcel.ActiveWorkBook.ActiveSheet.Cells($Zeile,$Spalte).Activate
bedeutet dies:Activate ist eine Methode des Range Objekts (Cells()
Der Range bezieht sich auf das aktuelle Blatt (ActiveSheet) des aktuellen Books (ActiveWorkbook) der durch $oExcel definierten Applikation. -
Activate sollte eine einzelne Zelle aktivieren. Oder versuch mal "Select".
-
Was in dem Script fehlt sind die Fehlerprüfungen. Jede der _HTTP-Funktionen gibt einen Fehlercode zurück. Der sollte vor der Weiterverarbeitung geprüft werden!
-
Wie so oft im Leben: Kaum macht man es richtig, funktioniert es
-
Gib statt
[autoit]$Customer
[/autoit]einfach
[autoit]Number($Customer)
[/autoit]als Parameter an _ExcelReadArray.
-
Schau mal in das Beispiel-Script _XLChart_ChartCreate.au3. Da wird an vielen Beispielen erklärt wie es geht.
In _XLChart_ChartCreate.htm werden die Parameter genau erklärt. -
Schau Dir doch mal die ExcelChart UDF an.
Mit Funktion_XLChart_ChartCreate generierst Du die Grafik und positionierst sie.