Laie braucht Hilfe

Antworten
rollovanoyten
Beiträge: 83
Registriert: 06.12.2014 09:14:51

Laie braucht Hilfe

Beitrag von rollovanoyten »

Eine Passage im BasicMaker Beispielprogramm "Kalender" lautet:

'------------------------
' Kalender aufbereiten
'------------------------
' PlanMaker starten
Set pm = CreateObject("PlanMaker.Application")
' Erstelle neues Dokument
pm.Visible = True
pm.Activate
pm.Workbooks.Add

Kann mir ein freundlicher BM-Kenner hinzufügen, wie ich
- der Datei den Namen "MusterKalender.xlsx" und
- dem Arbeitsblatt den Namen "Jahrgang"
geben kann?

Vielen Dank vorab!
FFF
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 2328
Registriert: 11.06.2013 22:30:18

Re: Laie braucht Hilfe

Beitrag von FFF »

rollovanoyten hat geschrieben: 10.05.2019 11:19:28 Eine Passage im BasicMaker Beispielprogramm "Kalender" lautet:

'------------------------
' Kalender aufbereiten
'------------------------
' PlanMaker starten
Set pm = CreateObject("PlanMaker.Application")
' Erstelle neues Dokument
pm.Visible = True
pm.Activate
pm.Workbooks.Add

Kann mir ein freundlicher BM-Kenner hinzufügen, wie ich
- der Datei den Namen "MusterKalender.xlsx" und
- dem Arbeitsblatt den Namen "Jahrgang"
geben kann?

Vielen Dank vorab!
Nix Kenner hier, und leider ist der Bug bzgl. "Type mismatch" in BM Stand heute immer noch drin.
Deshalb mit 2016er gespielt...
Was geht ist:
Dim myDoc As Workbook
set myDoc = pm.Workbooks.Add
myDoc.SaveAs("D:\Test.pmd")

Was mMn gehen sollte ist:
set myDoc.Sheet.Name = "Rollo"
oder auch
set pm.ActiveSheet.Name = "Rollo"

Beides mag nicht, ich verstehe aber nicht, warum, sorry -> "Automation object does not have a default value"
MsgBox pm.ActiveSheet.Name
funktioniert...
Mit freundlichem Gruß
Karl
SM 2018 rev. 982/0109/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2024NX Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Empfehlung für supereinfache Bildschirmvideos: https://www.screentogif.com/
rollovanoyten
Beiträge: 83
Registriert: 06.12.2014 09:14:51

Re: Laie braucht Hilfe

Beitrag von rollovanoyten »

Hallo FFF,
danke für die Hilfe.
Den Dateinamen habe ich hinbekommen, den Blattnamen nicht.
Aber auf den kann ich zur Not verzichten.
rollovanoyten
FFF
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 2328
Registriert: 11.06.2013 22:30:18

Re: Laie braucht Hilfe

Beitrag von FFF »

rollovanoyten hat geschrieben: 11.05.2019 18:12:48 Den Dateinamen habe ich hinbekommen, den Blattnamen nicht.
Gut, 50% sind ja schon was :D . Aber wg. des Blattnamens: Entweder ist da noch ein Bug drin, was mich nicht wundern würde, nachdem die aktuelle 64bit Version noch genug klemmt, oder wir machen was falsch, dann bin ich zuversichtlich, daß uns einer der Gurus weiterhilft...
NB, ich nehme an, Du bist mit der 32bit Version unterwegs?
Mit freundlichem Gruß
Karl
SM 2018 rev. 982/0109/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2024NX Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Empfehlung für supereinfache Bildschirmvideos: https://www.screentogif.com/
rollovanoyten
Beiträge: 83
Registriert: 06.12.2014 09:14:51

Re: Laie braucht Hilfe

Beitrag von rollovanoyten »

Ich arbeite mit der 64-bit-Version, habe mir aber von einer 32-bit-Installation die BasicMaker Dateien kopiert.
Das läuft ohne Probleme.
weisi14
Beiträge: 534
Registriert: 26.01.2012 13:09:18

Re: Laie braucht Hilfe

Beitrag von weisi14 »

Bei mir gibt es unter c:\....\Softmaker\Beispiele bzw. \Samples die Dateien "kalender.bas".
Die Dateien finden sich - je nach Installation von Basicmaker - möglicherweise auch an anderen Stellen.
(da ich Softmaker nicht am Standard-Pfad installiert habe, können die Fundorte auch wo anders sein)
Damit lassen sich verschiedene Kalender-Arten erstellen.

Das auf die eigenen Bedürfnisse anzupassen ist nicht besonders schwierig.

Einfach mal den Rechner nach kalender.bas durchsuchen...

Vielleicht eine Möglichkeit.....
rollovanoyten
Beiträge: 83
Registriert: 06.12.2014 09:14:51

Re: Laie braucht Hilfe

Beitrag von rollovanoyten »

Dank für den Hinweis.
Ich arbeite doch gerade an KALENDER.bas und möchte es nur ein bisschen
an meine Aufgabenstellung anpassen.
Aus der Beschreibung im Handbuch kann ich leider nicht erkennen, was ich tun muss,
um auch das Arbeitsblatt nach meinen Wünschen zu benennen.
FFF
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 2328
Registriert: 11.06.2013 22:30:18

Re: Laie braucht Hilfe

Beitrag von FFF »

weisi14 hat geschrieben: 11.05.2019 21:12:30 Bei mir gibt es unter c:\....\Softmaker\Beispiele bzw. \Samples die Dateien "kalender.bas".
Die Dateien finden sich - je nach Installation von Basicmaker - möglicherweise auch an anderen Stellen.
(da ich Softmaker nicht am Standard-Pfad installiert habe, können die Fundorte auch wo anders sein)
Damit lassen sich verschiedene Kalender-Arten erstellen.

Das auf die eigenen Bedürfnisse anzupassen ist nicht besonders schwierig.

Einfach mal den Rechner nach kalender.bas durchsuchen...

Vielleicht eine Möglichkeit.....
Siehe mein Post oben.
Kannst Du in der Kalender.bas z.B. den Tabellennamen setzen?
Mit freundlichem Gruß
Karl
SM 2018 rev. 982/0109/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2024NX Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Empfehlung für supereinfache Bildschirmvideos: https://www.screentogif.com/
rollovanoyten
Beiträge: 83
Registriert: 06.12.2014 09:14:51

Re: Laie braucht Hilfe

Beitrag von rollovanoyten »

BasicMaker hat (neben vielen anderen) dieses Problem:
Einerseits soll es eine einfache Script-Sprache sein für die Arbeit mit Plan- und TextMaker.
Andererseits ist der Lernaufwand - gemessen am Nutzen - außergewöhnlich hoch.
Wenn man das nur ein- oder zweimal nutzen möchte, lohnt sich der Aufwand nicht.
Ich will mich darum nicht weiter damit befassen.
Dank an alle, die mir helfen wollten.
weisi14
Beiträge: 534
Registriert: 26.01.2012 13:09:18

Re: Laie braucht Hilfe

Beitrag von weisi14 »

basicmaker.bas öffnen - die gewünschten Anpassungen vornehmen - > "Datei speichern unter..." - und den gewünschten Namen angeben - fertig.

Anschliessend in Basicmaker diese Datei dann ausführen. Steht im Menü unter "Programm" oder Taste F9 drücken
Es wird eine Planmaker-Datei aufgebaut, Planmaker wird gestartet, die erstellte Datei wird angezeigt und dann ganz einfach in Planmaker mit "Datei speichern unter..." dem gewünschten Namen speichern.
So wie auch bei jeder anderen Planmaker-Datei....

Fertig.....

Nichts für ungut, aber: so wie jede andere Script- oder Programmier-Sprache erfordert auch Basimaker eine Beschäftigung damit, von alleine geht da leider garnichts....

Nachtrag:
Falls das nicht klar geworden ist: die so entstandene Planmaker-Datei lässt sich wo wie jede andere Planmaker-Datei bearbeiten, Zellinhalte ändern, Text ändern, etc.....
FFF
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 2328
Registriert: 11.06.2013 22:30:18

Re: Laie braucht Hilfe

Beitrag von FFF »

weisi14 hat geschrieben: 12.05.2019 11:32:09 basicmaker.bas öffnen - die gewünschten Anpassungen vornehmen - > "Datei speichern unter..." - und den gewünschten Namen angeben - fertig.

Anschliessend in Basicmaker diese Datei dann ausführen. Steht im Menü unter "Programm" oder Taste F9 drücken
Es wird eine Planmaker-Datei aufgebaut, Planmaker wird gestartet, die erstellte Datei wird angezeigt und dann ganz einfach in Planmaker mit "Datei speichern unter..." dem gewünschten Namen speichern.
So wie auch bei jeder anderen Planmaker-Datei....

Fertig.....

Nichts für ungut, aber: so wie jede andere Script- oder Programmier-Sprache erfordert auch Basimaker eine Beschäftigung damit, von alleine geht da leider garnichts....
Nix für ungut, aber zu lesen, was Rollo wollte, tät auch nicht schaden.
NICHT IN PM den Dateinamen vergeben. NICHT IN PM das Tabellenblatt benamsen. Nach der Hilfe ist das problemlos möglich, für den Dateinamen funktioniert es auch mit etwa:
Dim myDoc As Workbook
set myDoc = pm.Workbooks.Add
myDoc.SaveAs("D:\Test.pmd")

Aber es funktioniert nicht, die Tabelle vorher zu benennen:
set pm.ActiveSheet.Name = "Rollo"
liefert:
"Automation object does not have a default value"
Dim myDoc As Workbook
set myDoc = pm.Workbooks.Add
set myDoc.ActiveSheet.Name = "Rollo"
liefert:
"Object doesn't support this property or method"
Ebenso, wie
set myDoc.Sheet(1).Name = "Rollo"

Wohlbemerkt, in BM2016, weil die 18/64er Version nach wie vor nicht läuft ( der "Type mismatch" Bug)

So. Jetzt Du!
Mit freundlichem Gruß
Karl
SM 2018 rev. 982/0109/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2024NX Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Empfehlung für supereinfache Bildschirmvideos: https://www.screentogif.com/
martin-k
SoftMaker Team
SoftMaker Team
Beiträge: 6133
Registriert: 03.12.2003 14:32:06
Kontaktdaten:

Re: Laie braucht Hilfe

Beitrag von martin-k »

Bitte mal nachlesen, was "Set" genau tut:

Code: Alles auswählen

Set Object = [New] ObjectExpression
Beziehungsweise:
Set Object = Nothing

Die obere Schreibweise verknüpft eine Objektvariable mit einem OLE-Objekt; die untere löst die Verknüpfung auf.
Der Befehl set myDoc.ActiveSheet.Name = "Rollo" ist falsch, weil das "Set" da nicht hingehört. Richtig ist eine simple Zuweisung:

Code: Alles auswählen

myDoc.ActiveSheet.Name = "Rollo"
Martin Kotulla
SoftMaker Software GmbH
weisi14
Beiträge: 534
Registriert: 26.01.2012 13:09:18

Re: Laie braucht Hilfe

Beitrag von weisi14 »

FFF hat geschrieben: 12.05.2019 12:03:44 Nix für ungut, aber zu lesen, was Rollo wollte, tät auch nicht schaden.

So. Jetzt Du!
......
Habe ich gelesen, aber er schreibt auch noch:
rollovanoyten hat geschrieben: 12.05.2019 09:38:43 Wenn man das nur ein- oder zweimal nutzen möchte, lohnt sich der Aufwand nicht.
Ich will mich darum nicht weiter damit befassen.
Dieser Aufwand alles nur für eine einmalige Verwendung wäre doch etwas übertrieben, oder?
Mein Vorschlag geht daher davon aus.Und da ist es wohl einfacher, diese Datei auch nur einmalig zu speichern...
rollovanoyten
Beiträge: 83
Registriert: 06.12.2014 09:14:51

Re: Laie braucht Hilfe

Beitrag von rollovanoyten »

Es ist ja schade um den schönen Sonntag, aber ich wollte es einfach wissen.

Für die, die es interessiert, habe ich eine Musterlösung begefügt.
Die mag ja nicht perfekt sein, aber sie tut das, was ich will.
Dateianhänge
Add SheetName.bas
(979 Bytes) 190-mal heruntergeladen
FFF
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 2328
Registriert: 11.06.2013 22:30:18

Re: Laie braucht Hilfe

Beitrag von FFF »

martin-k hat geschrieben: 12.05.2019 12:12:30 Bitte mal nachlesen, was "Set" genau tut:

Code: Alles auswählen

Set Object = [New] ObjectExpression
Beziehungsweise:
Set Object = Nothing

Die obere Schreibweise verknüpft eine Objektvariable mit einem OLE-Objekt; die untere löst die Verknüpfung auf.
Der Befehl set myDoc.ActiveSheet.Name = "Rollo" ist falsch, weil das "Set" da nicht hingehört. Richtig ist eine simple Zuweisung:

Code: Alles auswählen

myDoc.ActiveSheet.Name = "Rollo"
Vielen Dank, das war's - wenn auch die Fehlermeldung klarer sein könnte ;)
Kommt davon, wenn man helfen will, ohne "eigentlich" zu wissen, was zu tun ist. Wieder was gelernt.

Also, für Rollo:
Kalender ergänzen
Dim myDoc as Workbook
Dann nach " 'Erstelle neues Dokument "
pm.Visible = True
pm.Activate
set myDoc= pm.Workbooks.Add
pm.ActiveSheet.Name = "Rollo"

und vor der Zeile: "' Ostersonntag bestimmen"
myDoc.Saveas("D:\Test.pmd")
set myDoc = Nothing
einfügen,
Damit ist das Blatt und die Datei benannt. Und einerseits die neue Datei ohne Rückfrage gespeichert, andererseits die Referenz zum OLE Object Planmaker wieder aufgelöst.
Mit freundlichem Gruß
Karl
SM 2018 rev. 982/0109/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2024NX Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Empfehlung für supereinfache Bildschirmvideos: https://www.screentogif.com/
Antworten

Zurück zu „BasicMaker 2018 für Windows“