Seite 1 von 1

Application.Range funktioniert nicht mehr

Verfasst: Mi, 25.02.2009 14:44
von van_dell
Hi,

ich habe vor einem Halben Jahr mit OOo 2.4 ein kleines Makro geschrieben, das jetzt nicht mehr funktioniert:

Code: Alles auswählen

Sub Einstellungen_Speichern_Click()
 
 Dim Textdatei As String, var1 As Integer, var2 As Integer, var3 As Integer, var4 As Integer, _
 var5 As Integer, var6 As Integer, var7 As Integer, var8 As Integer, var9 As Integer, var10 As Integer, _
 var11 As Integer, var12 As Integer, var13 As Integer, var14 As Integer, var15 As Integer, var16 As Integer, _
 var17 As Integer, var18 As Integer, var19 As Integer, var20 As Integer, var21 As Integer, var22 As Integer, _
 var23 As Integer, var24 As Integer
 
 Textdatei = "D:\AutoBroker\AutoBroker_Settings.txt"
 
 var1 = Application.Range("Autobroker_Einstellungen!A4")
 var2 = Application.Range("Autobroker_Einstellungen!A9")
 var3 = Application.Range("Autobroker_Einstellungen!A14")
 var4 = Application.Range("Autobroker_Einstellungen!A19")
 var5 = Application.Range("Autobroker_Einstellungen!A24")
 var6 = Application.Range("Autobroker_Einstellungen!A29")
 var7 = Application.Range("Autobroker_Einstellungen!C4")
 var8 = Application.Range("Autobroker_Einstellungen!C9")
 var9 = Application.Range("Autobroker_Einstellungen!C14")
 var10 = Application.Range("Autobroker_Einstellungen!C19")
 var11 = Application.Range("Autobroker_Einstellungen!C24")
 var12 = Application.Range("Autobroker_Einstellungen!C29")
 var13 = Application.Range("Autobroker_Einstellungen!G4")
 var14 = Application.Range("Autobroker_Einstellungen!G9")
 var15 = Application.Range("Autobroker_Einstellungen!G14")
 var16 = Application.Range("Autobroker_Einstellungen!G19")
 var17 = Application.Range("Autobroker_Einstellungen!G24")
 var18 = Application.Range("Autobroker_Einstellungen!G29")
 var19 = Application.Range("Autobroker_Einstellungen!I4")
 var20 = Application.Range("Autobroker_Einstellungen!I9")
 var21 = Application.Range("Autobroker_Einstellungen!I14")
 var22 = Application.Range("Autobroker_Einstellungen!I19")
 var23 = Application.Range("Autobroker_Einstellungen!I24")
 var24 = Application.Range("Autobroker_Einstellungen!I29")
 
 Open Textdatei For Output Access Write As #1
 Write #1, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19, var20, var21, var22, var23, var24
 Close #1
 
 Call Momentane_Einstellungen_Auslesen_Click
 
 End Sub
 
 Sub Momentane_Einstellungen_Auslesen_Click()
 
 Dim Textdatei As String, var1 As Integer, var2 As Integer, var3 As Integer, var4 As Integer, _
 var5 As Integer, var6 As Integer, var7 As Integer, var8 As Integer, var9 As Integer, var10 As Integer, _
 var11 As Integer, var12 As Integer, var13 As Integer, var14 As Integer, var15 As Integer, var16 As Integer, _
 var17 As Integer, var18 As Integer, var19 As Integer, var20 As Integer, var21 As Integer, var22 As Integer, _
 var23 As Integer, var24 As Integer
 
 Textdatei = "D:\AutoBroker\AutoBroker_Settings.txt"
 
 Open Textdatei For Input Access Read As #1
 Input #1, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19, var20, var21, var22, var23, var24
 Close #1
 
 Application.Range("Autobroker_Einstellungen!A4") = var1
 Application.Range("Autobroker_Einstellungen!A9") = var2
 Application.Range("Autobroker_Einstellungen!A14") = var3
 Application.Range("Autobroker_Einstellungen!A19") = var4
 Application.Range("Autobroker_Einstellungen!A24") = var5
 Application.Range("Autobroker_Einstellungen!A29") = var6
 Application.Range("Autobroker_Einstellungen!E4") = var7 + 100
 Application.Range("Autobroker_Einstellungen!E9") = var8 + 100
 Application.Range("Autobroker_Einstellungen!E14") = var9 + 100
 Application.Range("Autobroker_Einstellungen!E19") = var10 + 100
 Application.Range("Autobroker_Einstellungen!E24") = var11 + 100
 Application.Range("Autobroker_Einstellungen!E29") = var12 + 100
 Application.Range("Autobroker_Einstellungen!G4") = var13
 Application.Range("Autobroker_Einstellungen!G9") = var14
 Application.Range("Autobroker_Einstellungen!G14") = var15
 Application.Range("Autobroker_Einstellungen!G19") = var16
 Application.Range("Autobroker_Einstellungen!G24") = var17
 Application.Range("Autobroker_Einstellungen!G29") = var18
 Application.Range("Autobroker_Einstellungen!K4") = var19 + 100
 Application.Range("Autobroker_Einstellungen!K9") = var20 + 100
 Application.Range("Autobroker_Einstellungen!K14") = var21 + 100
 Application.Range("Autobroker_Einstellungen!K19") = var22 + 100
 Application.Range("Autobroker_Einstellungen!K24") = var23 + 100
 Application.Range("Autobroker_Einstellungen!K29") = var24 + 100
 
 Application.Range("Autobroker_Einstellungen!A3") = var1
 Application.Range("Autobroker_Einstellungen!A8") = var2
 Application.Range("Autobroker_Einstellungen!A13") = var3
 Application.Range("Autobroker_Einstellungen!A18") = var4
 Application.Range("Autobroker_Einstellungen!A23") = var5
 Application.Range("Autobroker_Einstellungen!A28") = var6
 Application.Range("Autobroker_Einstellungen!C3") = var7
 Application.Range("Autobroker_Einstellungen!C8") = var8
 Application.Range("Autobroker_Einstellungen!C13") = var9
 Application.Range("Autobroker_Einstellungen!C18") = var10
 Application.Range("Autobroker_Einstellungen!C23") = var11
 Application.Range("Autobroker_Einstellungen!C28") = var12
 Application.Range("Autobroker_Einstellungen!G3") = var13
 Application.Range("Autobroker_Einstellungen!G8") = var14
 Application.Range("Autobroker_Einstellungen!G13") = var15
 Application.Range("Autobroker_Einstellungen!G18") = var16
 Application.Range("Autobroker_Einstellungen!G23") = var17
 Application.Range("Autobroker_Einstellungen!G28") = var18
 Application.Range("Autobroker_Einstellungen!I3") = var19
 Application.Range("Autobroker_Einstellungen!I8") = var20
 Application.Range("Autobroker_Einstellungen!I13") = var21
 Application.Range("Autobroker_Einstellungen!I18") = var22
 Application.Range("Autobroker_Einstellungen!I23") = var23
 Application.Range("Autobroker_Einstellungen!I28") = var24
 
 End Sub
Beim zweiten Sub bei der Zeile

Code: Alles auswählen

 Application.Range("Autobroker_Einstellungen!A4") = var1
und bei allen darauffolgenden bekomme ich den Fehler

Code: Alles auswählen

BASIC-Laufzeitfehler.
Objektvariable nicht belegt
Unter 2.4 hat alles noch einwandfrei funktioniert, jetzt bleibt's wie gesagt immer stehen. Was mache ich falsch?
Sollte normalerweise ohnehin klar sein, aber ich will aus der Tabelle eine Textdatei machen, die ich später dann wieder auslesen kann.

Danke schon Mal,
Gruß van_dell

Re: Application.Range funktioniert nicht mehr

Verfasst: Do, 26.02.2009 08:31
von Charly
Hallo!
van_dell hat geschrieben: Unter 2.4 hat alles noch einwandfrei funktioniert,
Bist du dir da sicher? Für mich klingt das alles nach Excel-VBA und nicht nach Starbasic. Application.Range kenne ich nur von Excel. Dafür spricht auch das Ausrufezeichen nach dem Tabellennamen. OOo hat hier nämlich einen Punkt.

gruß
Charly

Re: Application.Range funktioniert nicht mehr

Verfasst: Do, 26.02.2009 09:07
von van_dell
Ja, bin mir sicher, hatte noch nie Excel und es hat funktioniert. Vielleicht hab ich das mit dem nie Excel aber auch geträumt - funktioniert hat es aber auf jeden Fall. Irgendwie bin ich aber wohl zu blöd, die richtigen Suchworte zu finden, die nötig sind, um rauszufinden, was ich dafür bräuchte...
Wäre es denn aufwändig, das umzuschreiben nach Starbasic? Anscheinend geht ja alles außer dieser einen Zeile - wie lautet denn der entsprechende Starbasic-Befehl?
Danke schon Mal,
van_dell

Re: Application.Range funktioniert nicht mehr

Verfasst: Do, 26.02.2009 09:49
von Charly
Hallo!
van_dell hat geschrieben: var1 = Application.Range("Autobroker_Einstellungen!A4")
var2 = Application.Range("Autobroker_Einstellungen!A9")
Das würde ich in Starbasic wie folgt übersetzen:

Code: Alles auswählen

Dok = ThisComponent
Blatt = Dok.sheets.getByName("Autobroker_Einstellungen")
var1 = Blatt.getCellRangeByName("A4").value
var2 = Blatt.getCellRangeByName("A9").value
Gruß
Charly

Re: Application.Range funktioniert nicht mehr

Verfasst: Do, 26.02.2009 10:04
von van_dell
Hi,

vielen, vielen Dank, jetzt geht's einwandfrei. Das mit dem .value hintendran hatt ich zwischendurch schon Mal, leider hab ich die anderen Befehle(?) ums Verrecken nicht gefunden.

Gruß,
van_dell