Die setValue-Methode oder -Eigenschaft wurde während der Implementierung von LibreOffice Calc Macro nicht gefunden

586
GC 13

Ich benutze LibreOffice Calc nun schon seit 3 ​​Jahren, habe aber vor kurzem mit der Implementierung von Makros mit Basic begonnen. Ich habe auf Online-Ressourcen verwiesen, die für Libreoffice Calc Macro relevant sind, und ich versuche, einen absoluten Dateipfad in einer bestimmten Zelle abzurufen.

Im Folgenden ist der Code, den ich ausführen möchte, was zu einem Fehler führt:

Error:

BASIC-Laufzeitfehler.

Eigenschaft oder Methode nicht gefunden: setValue.

Code

Sub selectFile  Dim FileNames() as String Dim Doc as Object Dim oSheet as Object Dim oDestCell as Object  FileNames = fImportLocalFile()  Doc = ThisComponent oSheet = Doc.Sheets(0) oDestCell = oSheet.getCellByPosition(1,1) oSheet.setValue(FileNames, False) Msgbox Join(FileNames, Chr(10))  End Sub 

Möglicherweise fehlt etwas Import / Include, was zu diesem Fehler führt. Ich konnte keine relevanten Ressourcen online finden und meine Frage hier posten.

Vielen Dank für alle Hinweise im Voraus.

0
Ich habe auch folgendes versucht: 1) oDestCell.Value = FileNames-Fehler: BASIC-Laufzeitfehler. Objektvariable nicht gesetzt 2) oDestCell.Text = FileNames Read-Error. Diese Eigenschaft ist schreibgeschützt. GC 13 vor 7 Jahren 0
Erwägen Sie bitte, StackOverflow für das nächste Mal für diese Art von Frage (n) zu verwenden, da dies sinnvoller erscheint. `SU` = Benutzerfragen,` SO` = "Q & A für professionelle und begeisterte Programmierer" ngulam vor 7 Jahren 0

1 Antwort auf die Frage

0
ngulam

Für die Programmierung von LibreOffice / Apache OpenOffice erhalten Sie die Erweiterung MRI!
Sowie die Dokumentation (finden Sie in den SDKInstallationspaketen).

Dies ist, was MRIfür Ihr Ziel aufgezeichnet wurde:

Sub Snippet Dim oSheets As Variant Dim oObj1 As Variant Dim oCellByPosition As Variant  oSheets = ThisComponent.getSheets() oObj1 = oSheets.getByName("Tabelle1") oCellByPosition = oObj1.getCellByPosition(1, 1) oCellByPosition.setString("whatever")  End Sub  

Erklärung :

sheet.setValue- wie in der Fehlermeldung angegeben: Es gibt keine solche Eigenschaft.
cell.Value- Fehler, da .setValuesetzt a DOUBLE, keine Zeichenfolge.
cell.Text- Fehler, da das TextObjekt einer Zelle eine CellTextCursor(die Formatierungsanweisungen enthält) und eine String(die Textzeichen enthalten) benötigt.

Als Starter erhalten Sie Andrew Pitonyaks Makrodokument als kostenloses Dokument - oder kaufen Sie sein Buch.
[Ich bin nicht mit dem Autor oder dem Verfahren seines Buches verbunden.]