String zugewiesen wird!
Code: Alles auswählen
dhFreeString(Workbook)
vom abwesendem
Code: Alles auswählen
dhFreeString(Workbook)
Aber nicht jedesmal, Du nutzt die Variable 2x, also 2x freigeben, am bestenFalko hat geschrieben:Danke Thomas![]()
Ich hab's im obigen source vor dem Ändern der Zelle
gesetzt.
Gruß, Falko
Workbook ist bei Dir ja auch der Stringpointer und kein Objekt. Du kommstFalko hat geschrieben:Line: 29 - Invalid memory access.
ts, ts, ts, wer hat denn da sein EnableExplicit vergessen?Falko hat geschrieben:Nur wenn dort Workbooks dort steht, meckert der Debugger nicht.
Code: Alles auswählen
EnableExplicit
Define.l ExcelApp
Define.l ReturnValue
Define.s NewValue
Define.s Datei
Datei = GetCurrentDirectory() + "test.xls"
dhToggleExceptions(#True)
ExcelApp = dhCreateObject("Excel.Application")
If ExcelApp
dhCallMethod(ExcelApp, ".Workbooks.Open(%T)", @Datei) ; open ExcelFile
dhGetValue("%T", @ReturnValue, ExcelApp, "Cells(%d, %d).Value", 10, 3) ; read one value
If ReturnValue
Debug PeekS(ReturnValue)
dhFreeString(ReturnValue)
EndIf
dhGetValue("%T", @ReturnValue, ExcelApp, "Cells(%d, %d).Value", 10, 4) ; read second value
If ReturnValue
Debug PeekS(ReturnValue)
dhFreeString(ReturnValue)
EndIf
NewValue = "S0"
dhPutValue(ExcelApp, "Cells(%d, %d).Value = %T", 10, 4, @NewValue) ; write a new value
MessageRequester("PureDispHelper-ExcelDemo", "Click OK to close Excel")
dhCallMethod(ExcelApp, ".Quit")
dhReleaseObject(ExcelApp) : ExcelApp = 0
Else
MessageRequester("PureDispHelper-ExcelDemo", "Couldn't create Excel-Object")
EndIf
Code: Alles auswählen
StandardModule: basMain
Sub PartLeftFooter()
Dim intCounter As Integer, intChr As Integer
Dim sTxt As String
sTxt = ActiveSheet.PageSetup.LeftFooter
Do Until InStr(sTxt, vbLf) = 0
For intCounter = Len(sTxt) To 1 Step -1
If Asc(Mid(sTxt, intCounter, 1)) = 10 Then Exit Do
intChr = Asc(Mid(sTxt, intCounter, 1))
If intCounter = 1 Then Exit Sub
Next intCounter
Loop
sTxt = Right(sTxt, Len(sTxt) - intCounter)
sTxt = Trim(Right(sTxt, Len(sTxt) - InStr(sTxt, ":")))
ActiveSheet.TextBox1.Text = sTxt
End Sub