CALC: Absturz nach x-fachem Einfügen Bild

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: CALC: Absturz nach x-fachem Einfügen Bild

Re: CALC: Absturz nach x-fachem Einfügen Bild

von komma4 » Mi, 24.06.2015 15:18

Das ist keine Blasphemie, sondern einfach die Feststellung, dass Du das falsche Werkzeug für die Aufgabe nutzt.


Bitte beachte die Moderationshinweise!

Re: CALC: Absturz nach x-fachem Einfügen Bild

von Krangel » Mi, 24.06.2015 14:41

Hi,

sorry für die Blasphemie.
Das Zwischenspeichern bringt keine Abhilfe.

Grüße


Moderation,4: Neues Thema; abgetrennt nach: Dokument im gleichen Fenster (frame) laden

Re: CALC: Absturz nach x-fachem Einfügen Bild

von balu » Di, 23.06.2015 19:42

Hallo Krangel,

erstmal ein Paar Tipps.

Code: Alles auswählen

    Anzahl = MySheet.getCellRangeByName("B4")
    mycell = mysheet.getCellByPosition(0,0) ' ? Aktuell? neue Nr
    mycell.value = 0
    mycell = mysheet.getCellByPosition(1,0) 'neue Nr
    mycell.value = 0
Das macht man nicht, zwei unterschiedlichen Zellen den gleichen Variablennamen zuweisen!
Besser ist es z.B. so.

Code: Alles auswählen

    Anzahl = MySheet.getCellRangeByName("B4")
    mycell1 = mysheet.getCellByPosition(0,0) ' ? Aktuell? neue Nr
    mycell1.value = 0
    mycell2 = mysheet.getCellByPosition(1,0) 'neue Nr
    mycell2.value = 0

Code: Alles auswählen

   Doc = thisComponent
   mySheet = Doc.sheets(0)

[...]

    Page = mySheet.DrawPage
Was hälst Du davon?


Zu deinem eigentlichem Problem.
Die Löschroutine ist als solches nicht falsch.
ABER!!!
Die Sache mit clearContents(128) ist nicht ganz so einfach. Ich empfehle dir daher diesen Beitrag durchzulesen, dann müsstest Du verstehen was ich meine.



Gruß
balu

Re: CALC: Absturz nach x-fachem Einfügen Bild

von komma4 » Di, 23.06.2015 19:33

Krangel hat geschrieben:Was ist hier fehlerhaft?
Dass Du versuchst eine Tabellenkalkulation als Bilder-Album-Anwendung zu missbrauchen!

Irgendwie wird irgendwann der interne Speicher von OpenOffice ein Problem mit dem Einfügen bekommen.
Versuche mal, die Datei zwischendurch zu speichern. - vielleicht hilft das.


(Habe Deinen Betreff geändert, um das Problem zu konkretisieren)

CALC: Absturz nach x-fachem Einfügen Bild

von Krangel » Di, 23.06.2015 18:52

Hi,
ich habe Probleme mit diesem Code:

Code: Alles auswählen

Sub Aktualisieren
	Doc = thisComponent
	mySheet = Doc.sheets(0)
	REM ----------------------- Löschen ------
	Clear
	Rem ------------------------Dateinamen holen -----
	Grafik_Namen
	Rem ------------------------holt den aktuellen Pfad --------
	Aktueller_pfad 
	
    Anzahl = MySheet.getCellRangeByName("B4")
    mycell = mysheet.getCellByPosition(0,0) ' ? Aktuell? neue Nr
    mycell.value = 0
    mycell = mysheet.getCellByPosition(1,0) 'neue Nr
    mycell.value = 0
    For i = 0 to Anzahl.Value -1
  
    Bild = MySheet.GetCellByPosition(1,4 + i)
 
    Page = thisComponent.sheets(0).DrawPage
    GraphicObjectShape = Doc.createInstance("com.sun.star.drawing.GraphicObjectShape")
   
    Size.Width = 5030	 'Grösse
    Size.Height = 11900 'Grösse
    GraphicObjectShape.Size = Size
   
    Point.x = 12000 'Position   
    Point.y = 200 'Position
    GraphicObjectShape.Position = Point
    GraphicObjectShape.Transparency = 0
    GraphicObjectShape.GraphicURL = sFolderUrl & Bild.string
   
    GraphicObjectShape.Name = "Inventar " &  i
    Page.add(GraphicObjectShape)
    next i
End Sub
Das Makro liest PNG Dateien im Pfad des Dokuments und fügt sie an dieselbe Position ein. Die aktuelle Grafik wird auf 0 die anderen auf 100 Transparenz gesetzt.
Wenn ich den Bereich, in dem die Grafiken eingefügt werden vorher lösche, stürzt das Programm nach dem 5 bis 20 zigsten Aufruf, mit "Unerwarteten Fehler", komplett ab.

Löschroutine:

Code: Alles auswählen

oDocGL = thisComponent
oDocGL.Sheets(0).getCellRangeByName("E1:I25").clearContents(128)

oder eine mit dem Recorder aufgezeichnete haben die selbe Wirkung.

Was ist hier fehlerhaft?

Grüße

Nach oben