zelle klick - fenster auf - datei wählen - name eintragen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

jensspeedy
Beiträge: 8
Registriert: Sa, 19.05.2007 17:19

zelle klick - fenster auf - datei wählen - name eintragen

Beitrag von jensspeedy »

joooooooooo - mal wieder ne witzige frage - gibt es ne möglichkeit in OO(ist eventuell eingebaut aber gefunden hab ich es nicht) dass man eine zelle nach der anderen in nem bestimmten zellbereich anklickt - sich jeweils nen auswahlfenster wie "datei öffnen" aufmacht - man eine datei anwählt und nur DER NAME DER DATEI mit .endung in die entsprechende zelle geschrieben wird (oder per buttonklick in die zelle rechts daneben?)

weiss nicht mal wie ich es genau nennen müßte um es hier im forum zu finden *schnief*

eventuell als festes makro im OO als "add-in" dass man dann mit nem button in ner menüleiste starten und abschalten kann?

in exel und als makro in der arbeitsmappe für einen bestimmten bereich würde es so ausschauen
MODUL1

Code: Alles auswählen

Sub Aufruf() 
    Dim sFile As String 
    
    ChDir "C:\" 
    sFile = Application.GetOpenFilename("Bilder (*.jpg), *.jpg") 
    If sFile <> "Falsch" Then 
        ActiveCell = fFilename(sFile) 
    End If 
    
End Sub 

Function fFilename(DateinameMitPfad) 
   fFilename = Mid(DateinameMitPfad, InStrRev(DateinameMitPfad, "\", -1) + 1) 
End Function
und in der jeweiligen Tabelle

Code: Alles auswählen

Private Sub Worksheet_selectionChange(ByVal Target As Range) 
Dim ChangeCells As Range 

    
    Set ChangeCells = Range("D10:F20") 
    
    If Not Application.Intersect(ChangeCells, Range(Target.Address)) _ 
           Is Nothing Then 
        Aufruf 
    Else 
    End If 
End Sub
toll wäre natürlich wenn im sich öffnenden "durchsuchen-fenster" auch dateien mit der endung *.jpeg und *.pdf ausgewählt werden könnten.

ach ja - was passiert wenn es kein laufwerk "C:" gibt? kann man da evtl. auch mit "root" oder so arbeiten oder dass es den ordner öffnet, in dem sich die entsprechende tabellendatei befindet?

gruß jens und allen erst mal schöne pfingsten
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Folgendes Makro öffnet den Dateiauswahl-Dialog und schreibt den ersten gewählten Dateinamen in die aktuelle Zelle. Reicht das schon?

Code: Alles auswählen

Sub DateinameInAktuelleZelle
' 2007-05-30

oDok = ThisComponent
If Not oDok.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) Then
	msgbox "Dieses Makro ist nur für Calc !", , "DateinameInAktuelleZelle"
	exit sub
end if


' Selektion ermitteln
oAuswahl = ThisComponent.getCurrentController.getSelection()

If Not oAuswahl.supportsService( "com.sun.star.table.CellProperties" ) Then
	' Auswahl keine Zelle (Grafik, anderes)
	Exit Sub
end if

'
If Not oAuswahl.supportsService( "com.sun.star.table.CellRange" ) Then
	' mehrere Zellen ausgewählt - keine Aktion
	Exit Sub
End If 


' Dateiauswahl-Dialog
oFileDialog = CreateUnoService( "com.sun.star.ui.dialogs.FilePicker" )
' set up filters (in the order they appear, and default
oFileDialog.appendFilter( "Jens' Dokumente", "*.pdf;*.jpeg" )
'oFileDialog.appendFilterGroup( "test1", "*.log;*.dat;*.csv" )
oFileDialog.Title = "Dateiname in aktuelle Zelle-Auswahldialog"
oFileDialog.setDisplayDirectory( ConvertToURL( "d:\tools\") )

If oFileDialog.execute() = com.sun.star.ui.dialogs.ExecutableDialogResults.OK then
	sAuswahl = oFileDialog.getFiles(0)
	oAuswahl.setString( ConvertFromURL( sAuswahl(0) ) ) 
End If

End Sub
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
jensspeedy
Beiträge: 8
Registriert: Sa, 19.05.2007 17:19

wow

Beitrag von jensspeedy »

sorry dass ich heute erst zum lesen und antworten komme - dass muss ich doch glatt gleich morgen mal ausprobieren

ick sag dann bescheid

jens
Antworten