Seite 1 von 1
Platzhalter "c-z" in einer Formel
Verfasst: Mi, 11.02.2009 08:52
von clag
Moin moin liebe Leutz,
folgendes, ich möchte per Formel aus Pfaden Hyperlinks machen
die Pfade können
C:\*.* - Z:\*.* sein aber auch Netzwerkfreigaben
\\worstation1\*.*
dazu habe ich mir folgendes:
Code: Alles auswählen
=WENN(LINKS(A5;2)="\\";"!hallo, \ duch / ersetzen!";WENN(LINKS(A5;2)="//";(HYPERLINK("file:"&A5));WENN(LINKS(A5;2)="[c-z]:";(HYPERLINK("file:///"&A5));"ätsch, kein gültiger Pfad !")))
aus'm Hirn gequetscht
im 3.wenn möcht ich prüfen ob die Text mit c: - z: beginnt da, hab ich jetzt keine Idee wie ich das anstellen soll/muss
könnt ihr mir etwas auf die Sprünge helfen
DANKE
Re: Platzhalter "c-z" in einer Formel
Verfasst: Mi, 11.02.2009 09:37
von Karolus
Hallo
Das Wechseln der \ gegen / geht mit (wer hätte das gedacht):
=WECHSELN(A5;"\";"/") 'ohne Fehler falls keine \ vorhanden sind
Die Prüfung der Laufwerksbuchstaben:
WENN(ZÄHLENWENN(A100:A125;LINKS(A5;2);dann;sonst)
im Bereich A100:A125 müsstest du die Laufwerke von c: bis z: auflisten.
Gruß Karo
Re: Platzhalter "c-z" in einer Formel
Verfasst: Mi, 11.02.2009 10:18
von turtle47
Hi Clac,
in meiner Grabbelkiste hatte ich noch ein Makro liegen zum Formatieren von Mailadressen.
Ich habe es mal auf URL-Links angepasst.
Vielleicht kannst Du ja was damit anfangen.
Zelle(n) markieren und Makro drüberlaufen lassen.
Code: Alles auswählen
Sub Start_Hyperlink_Format
oDoc = ThisComponent
If Not oDoc.supportsService _
("com.sun.star.sheet.SpreadsheetDocument" ) then
MsgBox "Das ist ein kein Calc-Dokument! Die Anwendung kann deshalb nicht ausgeführt werden! " , 16 , "Format Hyperlink"
Exit Sub
end if
if End_Row > 65534 then
msgbox "Ganze Spalten markieren ist nicht möglich!" & CHR(13) & "Der Vorgang wird jetzt abgebrochen!",,"Format Hyperlink"
end if
oSheet = ThisComponent.CurrentController.getActiveSheet()
oZell = oDoc.getCurrentSelection()
oZell.supportsService("com.sun.star.sheet.SheetCellRange")
oSelect=ThisComponent.CurrentSelection.getRangeAddress
oSelectColumn=ThisComponent.CurrentSelection.Columns
oSelectRow=ThisComponent.CurrentSelection.Rows
CountColumn=oSelectColumn.getCount
CountRow=oSelectRow.getCount
Start_Column=oSelect.StartColumn
End_Column=oSelect.EndColumn
Start_Row =oSelect.StartRow
End_Row=oSelect.EndRow
if End_Row > 65534 then
msgbox "Ganze Spalten markieren ist nicht möglich!" & CHR(13) & "Der Vorgang wird jetzt abgebrochen!",,"Format Hyperlink"
exit sub
end if
For sp = Start_Column to End_Column
For ze = Start_Row to End_Row
oCell = oSheet.getCellByPosition(sp,ze)
sLink = oCell.String
if sLink = "" then
end if
sFile = ConverttoURL(sLink)
oCell.formula = "=Hyperlink(" & """"& sFile & """" & ";" & """"& sLink & """" & ")"
'oCell.charcolor=RGB (0, 0, 0) 'Schriftfarbe
'oCell.CellBackcolor = RGB (192, 192, 192)'Zellfarbe
next ze
next sp
msgbox "Die Formatierung ist abgeschlossen." ,64 , "Format Hyperlink"
End Sub
Viel Erfolg.
Jürgen
Re: Platzhalter "c-z" in einer Formel
Verfasst: Mi, 11.02.2009 15:02
von clag
Hi Leutz,
danke für die Unterstützung und Ideen hab jetzt was neues zusammengestrickt
vorn wirf man nen Pfad ein und hinten kommt ein fertiger HYPERLINK raus
mit ner groben Prüfung ob Gültigkeit möglich ist, muss mindestens mit \\ oder c-z:\ beginnen
Code: Alles auswählen
=WENN(LINKS(A3;2)="\\";HYPERLINK("file:"&WECHSELN(A3;"\";"/");A3);WENN(ISTFEHLER(SUCHEN("[c-z]:\\";A3));"invalid path";WENN(SUCHEN("[c-z]:\\";A3)=1;HYPERLINK("file:///"&WECHSELN(A3;"\";"/");A3))))
falls wer gucken möchte, war ja bald wieder Teamarbeit
