🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Alles zur Programmierung im LibreOffice.
-
Atwist
- Beiträge: 82
- Registriert: Mo 14. Sep 2015, 18:46
Beitrag
von Atwist » So 23. Okt 2016, 16:14
Hallo Leute,
Hab wieder mal einen Problem, ich finde mein Fehler nicht
Alles Funktioniert außerhalb das IF teil.
Ich versuche hiermit der Knopf auszuschalten wenn er betätigt ist sodass die Daten nur ein mal kopiert werden.
Was sehe ich nicht.
Code: Alles auswählen
sub DataNaarFebruari (oEvent)
Doc = ThisComponent
Sheets = Doc.Sheets()
SheetCopy = Sheets.getByName("Jan")
SheetPaste = Sheets.getByName("Feb")
CopyRange = SheetCopy.getCellRangeByName("B3:C10")
PasteRange = SheetPaste.getCellRangeByName("B3:C10")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("B17:C38")
PasteRange = SheetPaste.getCellRangeByName("B17:C38")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("K7")
PasteRange = SheetPaste.getCellRangeByName("H2")
CopyRange = SheetCopy.getCellRangeByName("L7")
PasteRange = SheetPaste.getCellRangeByName("L7")
PasteRange.DataArray = CopyRange.DataArray
If
.getByName("NieuweMaand1").State = 1 then
.getByName("NieuweMaand1").Enabled = False
End If
call GaNaarFebruari
End sub
Zuletzt geändert von
Atwist am Mi 26. Okt 2016, 13:43, insgesamt 1-mal geändert.
Schöne grüße aus Emsland
Andreas
-
gogo
- * LO-Experte *
- Beiträge: 1081
- Registriert: Sa 5. Feb 2011, 19:07
Beitrag
von gogo » So 23. Okt 2016, 16:52
Code: Alles auswählen
PasteRange.DataArray = CopyRange.DataArray
with DEIN_OBJEKT
If .getByName("NieuweMaand1").State = 1 then
.getByName("NieuweMaand1").Enabled = False
End If
end with
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
Atwist
- Beiträge: 82
- Registriert: Mo 14. Sep 2015, 18:46
Beitrag
von Atwist » So 23. Okt 2016, 17:07
Hallo gogo,
Was wird gemeint mit "DEIN_OBJEKT" ??
Schöne grüße aus Emsland
Andreas
-
Atwist
- Beiträge: 82
- Registriert: Mo 14. Sep 2015, 18:46
Beitrag
von Atwist » So 23. Okt 2016, 19:09
Ich dachte das ich es gefunden hatte
Code: Alles auswählen
sub DataNaarFebruari (oEvent)
Dim Button As Object
Doc = ThisComponent
Sheets = Doc.Sheets()
SheetCopy = Sheets.getByName("Jan")
SheetPaste = Sheets.getByName("Feb")
CopyRange = SheetCopy.getCellRangeByName("B3:C10")
PasteRange = SheetPaste.getCellRangeByName("B3:C10")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("B17:C38")
PasteRange = SheetPaste.getCellRangeByName("B17:C38")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("K7")
PasteRange = SheetPaste.getCellRangeByName("H2")
CopyRange = SheetCopy.getCellRangeByName("L7")
PasteRange = SheetPaste.getCellRangeByName("L7")
PasteRange.DataArray = CopyRange.DataArray
with Button
If .getByName("NieuweMaand1").State = 1 then
.getByName("NieuweMaand1").Enabled = False
End If
end with
call GaNaarFebruari
End sub
Schöne grüße aus Emsland
Andreas
-
gogo
- * LO-Experte *
- Beiträge: 1081
- Registriert: Sa 5. Feb 2011, 19:07
Beitrag
von gogo » Mo 24. Okt 2016, 01:08
Das kann nicht funktionieren, Du musst dem Namen "Button" ein reales Objekt zuweisen, sonst weiss LO nur, dass "Button" auf ein Objekt verweisen soll, aber nicht auf welches.
z.B.:
Code: Alles auswählen
...
Dim Button As Object
...
Button = SheetCopy.DrawPage.Forms.getByIndex(0).getByName("NieuweMaand1")
...
with Button
If .State = 1 then
.Enabled = False
End If
end with
...
oder einfach:
Code: Alles auswählen
...
with SheetCopy.DrawPage.Forms.getByIndex(0).getByName("NieuweMaand1")
If .State = 1 then .Enabled = False
end with
...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
Atwist
- Beiträge: 82
- Registriert: Mo 14. Sep 2015, 18:46
Beitrag
von Atwist » Mo 24. Okt 2016, 06:38
Hallo gogo,
Leider funktionieren beide nicht bei mir, der Fehler bin ich bin schon so lange hiermit beschäftigt das ich es nicht mehr sehe,
Code: Alles auswählen
sub DataNaarFebruari (oEvent)
Dim Button As Object
Doc = ThisComponent
Sheets = Doc.Sheets()
SheetCopy = Sheets.getByName("Jan")
SheetPaste = Sheets.getByName("Feb")
CopyRange = SheetCopy.getCellRangeByName("B3:C10")
PasteRange = SheetPaste.getCellRangeByName("B3:C10")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("B17:C38")
PasteRange = SheetPaste.getCellRangeByName("B17:C38")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("K7")
PasteRange = SheetPaste.getCellRangeByName("H2")
CopyRange = SheetCopy.getCellRangeByName("L7")
PasteRange = SheetPaste.getCellRangeByName("L7")
PasteRange.DataArray = CopyRange.DataArray
with SheetCopy.DrawPage.Forms.getByIndex(0).getByName("NieuweMaand1")
If .State = 1 then .Enabled = False
end with
call GaNaarFebruari
End sub
oder
Code: Alles auswählen
sub DataNaarFebruari (oEvent)
Dim Button As Object
Doc = ThisComponent
Sheets = Doc.Sheets()
SheetCopy = Sheets.getByName("Jan")
SheetPaste = Sheets.getByName("Feb")
CopyRange = SheetCopy.getCellRangeByName("B3:C10")
PasteRange = SheetPaste.getCellRangeByName("B3:C10")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("B17:C38")
PasteRange = SheetPaste.getCellRangeByName("B17:C38")
PasteRange.DataArray = CopyRange.DataArray
CopyRange = SheetCopy.getCellRangeByName("K7")
PasteRange = SheetPaste.getCellRangeByName("H2")
CopyRange = SheetCopy.getCellRangeByName("L7")
PasteRange = SheetPaste.getCellRangeByName("L7")
PasteRange.DataArray = CopyRange.DataArray
Button = SheetCopy.DrawPage.Forms.getByIndex(0).getByName("NieuweMaand1")
with Button
If .State = 1 then
.Enabled = False
End If
end with
call GaNaarFebruari
End sub

- NieuweMaand1_Botton.png (7.55 KiB) 3966 mal betrachtet
Schöne grüße aus Emsland
Andreas
-
F3K Total
- * LO-Experte *
- Beiträge: 2501
- Registriert: So 10. Apr 2011, 10:10
Beitrag
von F3K Total » Mo 24. Okt 2016, 16:58
Moin,
lade eine Beispieldatei (.ods) hoch, dann klappt es in 5 Minuten.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
-
gogo
- * LO-Experte *
- Beiträge: 1081
- Registriert: Sa 5. Feb 2011, 19:07
Beitrag
von gogo » Mo 24. Okt 2016, 17:18
SheetCopy.DrawPage.Forms.getByIndex(0).
... war nur geraten.
... der Wortlaut der Fehlermeldung wäre auch günstig

g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
-
Atwist
- Beiträge: 82
- Registriert: Mo 14. Sep 2015, 18:46
Beitrag
von Atwist » Mo 24. Okt 2016, 17:34
Schöne grüße aus Emsland
Andreas
-
Atwist
- Beiträge: 82
- Registriert: Mo 14. Sep 2015, 18:46
Beitrag
von Atwist » Mo 24. Okt 2016, 17:39
Ich konnte in die makro Dateien von Andrew Pitonyak auch nichts finden.
Schöne grüße aus Emsland
Andreas
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.