Platzhalter "c-z" in einer Formel

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Platzhalter "c-z" in einer Formel

Beitrag 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
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Platzhalter "c-z" in einer Formel

Beitrag 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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Platzhalter "c-z" in einer Formel

Beitrag 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
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Platzhalter "c-z" in einer Formel

Beitrag 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 :D
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten