Dateiname an Variable übergeben
Moderator: Moderatoren
Dateiname an Variable übergeben
Hallo zusammen,
gibt es eine Möglichkeit, den Dateinamen einer geöffneten Datei an eine Variable zu übergeben?
Wie kann der Name eines Sheets eines Calc-Dokuments an eine Variable übergeben werden?
Danke
Gruß
Alex
gibt es eine Möglichkeit, den Dateinamen einer geöffneten Datei an eine Variable zu übergeben?
Wie kann der Name eines Sheets eines Calc-Dokuments an eine Variable übergeben werden?
Danke
Gruß
Alex
gibt es eine Möglichkeit, den Dateinamen einer geöffneten Datei an eine Variable zu übergeben?
Code: Alles auswählen
Sub Main
i = 1
Do
datei_name = Right(ConvertToURL(ThisComponent.URL), i)
i = i + 1
Loop While Left(datei_name, 1) <> "/"
msgbox Right(datei_name,LEN(datei_name) - 1)
End Sub
Der Name ist in der name-Eigenschaft des Blattes, also wenn das Sheet-Objekt definiert ist als "ein_bestimmtes_Blatt" dann ist der Name:Wie kann der Name eines Sheets eines Calc-Dokuments an eine Variable übergeben werden?
Code: Alles auswählen
ein_bestimmtes_Blatt.name
Code: Alles auswählen
a = ein_bestimmtes_Blatt.name
Gruß
Stephan
Hallo Stephan,
irgendwie klappt es mit dem Sheet-Namen nicht.
Hab's so probiert:
Sub Sheet_to_Name
DIM Sheet As Object
DIM Document As Object
Document = ThisComponent
blatt = Sheet.name
msgBox "Blatt: " + blatt
End Sub
Es erscheint immer die Fehlermeldung "Objektvariable nicht definiert".
Was ist falsch?
Gruß und Danke
Alex
irgendwie klappt es mit dem Sheet-Namen nicht.
Hab's so probiert:
Sub Sheet_to_Name
DIM Sheet As Object
DIM Document As Object
Document = ThisComponent
blatt = Sheet.name
msgBox "Blatt: " + blatt
End Sub
Es erscheint immer die Fehlermeldung "Objektvariable nicht definiert".
Was ist falsch?
Gruß und Danke
Alex
Du hast doch 'Sheet' gar kein Objekt zugewiesen darum kommt die Fehlermeldung.
Ich verstehe ja das Du den Namen des Tabellenblattes willst, bloß von welchem? In der Arbeitsmappe sind üblicherweise mehrere und da müßtest Du Dich dann zunächst entscheiden für welches Du den Namen brauchst, kommt ebend drauf an. Z.B.: das linke, das gerade aktive, das wo in einer Zelle ein bestimmter Wert steht usw.
Dieses Makro liefert die Namen aller Tabellenblätter hintereinander:
Gruß
Stephan
Ich verstehe ja das Du den Namen des Tabellenblattes willst, bloß von welchem? In der Arbeitsmappe sind üblicherweise mehrere und da müßtest Du Dich dann zunächst entscheiden für welches Du den Namen brauchst, kommt ebend drauf an. Z.B.: das linke, das gerade aktive, das wo in einer Zelle ein bestimmter Wert steht usw.
Dieses Makro liefert die Namen aller Tabellenblätter hintereinander:
Code: Alles auswählen
Sub Main
For i = 0 To ThisComponent.Sheets().Count - 1
msgbox ThisComponent.Sheets(i).Name
Next
End Sub
Gruß
Stephan
Hallo Alex,
Wenn es hiermit:
Gruß
Stephan
Code: Alles auswählen
Sub Main
Dim a as String
a = ThisComponent.currentcontroller.activesheet.name
msgbox a
End Sub
noch Probleme gibt, melde Dich nochmal.denn das möchte ich dann mit dem Sheet-Namen speichern
Gruß
Stephan
Hallo Stephan,
hab's umgesetzt, aber es gibt noch ein kleines Problem.
Hier das Makro:
-----------------------------------
Sub File_to_PDF
DIM Datei_Pfad As String
DIM Doc_Name As String
DIM File_Name As String
DIM PDF_Pfad As String
DIM Document As Object
DIM ExportEigenschaften(1) As New com.sun.star.beans.PropertyValue
PDF_Pfad = "file:///D:/transfer/"
I = 1
Do
Doc_Name = Right(ConvertToURL(ThisComponent.URL), I)
I = I + 1
Loop While Left(Doc_Name, 1) <> "/"
File_Name = right(Doc_Name, Len(Doc_Name) -1)
' --- Dateiname ohne EXTENSION erzeugen
File_Name = left (File_Name, Len(File_Name) -4)
msgBox "Datei: "+ File_Name
' --- Pfad und Dateiname zusammensetzen
Datei_Pfad = PDF_Pfad + File_Name + ".pdf"
msgbox "Name: " + Datei_Pfad
Datei_Pfad = ConvertToUrl (Datei_Pfad)
' --- Alles zum speichern zusammensetzen
FilterName = "calc_pdf_Export"
ExportEigenschaften(0).Name = "FilterName"
ExportEigenschaften(0).Value = FilterName
ExportEigenschaften(1).Name = "CompressMode"
ExportEigenschaften(1).Value = 0
Document.storeToUrL (Datei_Pfad, ExportEigenschaften())
End Sub
Und in der letzten Zeile bei "document.storetourl..." kommt eine Fehlermeldung >>Objektvariable nicht belegt<<
Ich frag mich welche?
Hast Du 'ne Idee?
Grüßle
Alex
hab's umgesetzt, aber es gibt noch ein kleines Problem.
Hier das Makro:
-----------------------------------
Sub File_to_PDF
DIM Datei_Pfad As String
DIM Doc_Name As String
DIM File_Name As String
DIM PDF_Pfad As String
DIM Document As Object
DIM ExportEigenschaften(1) As New com.sun.star.beans.PropertyValue
PDF_Pfad = "file:///D:/transfer/"
I = 1
Do
Doc_Name = Right(ConvertToURL(ThisComponent.URL), I)
I = I + 1
Loop While Left(Doc_Name, 1) <> "/"
File_Name = right(Doc_Name, Len(Doc_Name) -1)
' --- Dateiname ohne EXTENSION erzeugen
File_Name = left (File_Name, Len(File_Name) -4)
msgBox "Datei: "+ File_Name
' --- Pfad und Dateiname zusammensetzen
Datei_Pfad = PDF_Pfad + File_Name + ".pdf"
msgbox "Name: " + Datei_Pfad
Datei_Pfad = ConvertToUrl (Datei_Pfad)
' --- Alles zum speichern zusammensetzen
FilterName = "calc_pdf_Export"
ExportEigenschaften(0).Name = "FilterName"
ExportEigenschaften(0).Value = FilterName
ExportEigenschaften(1).Name = "CompressMode"
ExportEigenschaften(1).Value = 0
Document.storeToUrL (Datei_Pfad, ExportEigenschaften())
End Sub
Und in der letzten Zeile bei "document.storetourl..." kommt eine Fehlermeldung >>Objektvariable nicht belegt<<
Ich frag mich welche?
Hast Du 'ne Idee?
Grüßle
Alex
Hast Du 'ne Idee?
-->Document !
mußt Du entweder noch einfügen:
Code: Alles auswählen
Document = ThisComponent
Code: Alles auswählen
Document = StarDesktop.CurrentComponent
Code: Alles auswählen
ThisComponent.storeToUrL (Datei_Pfad, ExportEigenschaften())
Gruß
Stephan
Hallo Stephan,
leider bringt keine deiner 3 Anregungen eine Besserung.
Es erscheint jedesmal die Meldung:
"Basic-Laufzeitfehler: Es ist eine Exception aufgetreten - com.sun.star.io.IOException message"
Ich hab bereits ein Makro zum speichern der Datei als PDF am laufen, das klappt. nur jetzt, wenn ich die Datei nachträglich als PDF speichern will, so wie das Makro es ausweist, dann kommt der Fehler.
Eigenartig.
Ich hoffe, die Meldung hilft Dir etwas weiter.
Grüßle
Alex
leider bringt keine deiner 3 Anregungen eine Besserung.
Es erscheint jedesmal die Meldung:
"Basic-Laufzeitfehler: Es ist eine Exception aufgetreten - com.sun.star.io.IOException message"
Ich hab bereits ein Makro zum speichern der Datei als PDF am laufen, das klappt. nur jetzt, wenn ich die Datei nachträglich als PDF speichern will, so wie das Makro es ausweist, dann kommt der Fehler.
Eigenartig.
Ich hoffe, die Meldung hilft Dir etwas weiter.
Grüßle
Alex