Ich habe eine Tabelle mit Hyperlink-Text in Excel, also sind es im Grunde eine Reihe von Namen, aber wenn ich auf einen klicke, bringt mich das zu einer URL in meinem Standard-Browser.
Also extrahiere ich Text aus dieser Excel-Tabelle in meinem Programm, aber der Wert, den ich bekomme, wenn ich aus diesen Hyperlink-Zellen extrahiere, ist der der Zeichenfolge darin, wenn ich die URL haben will, mit der die Zeichenfolge in der Excel-Datei verknüpft ist.
Also ich denke, es gibt zwei Möglichkeiten, dies zu tun. Entweder kann ich den gesamten Hyperlink-Text in der Excel-Datei in die entsprechenden URLs konvertieren, oder ich kann C # verwenden, um irgendwie den URL-Wert aus der Zelle und nicht den Text zu extrahieren.
Ich weiß nicht, wie ich eines dieser Dinge machen soll, aber jede Hilfe wäre sehr willkommen.
C # -Code bisher:
%Vor%Wie bei der Excel-Datei ist es nur eine lange Reihe von Namen, die durch Hyperlinks verbunden sind. Zum Beispiel Zelle A2 würde den Text enthalten:
Und ich möchte die Zeichenfolge extrahieren:
%Vor%VBA-Funktion:
Verwenden Sie jetzt =GETURL(cell)
, um die URL zu erhalten. Beispiel: =GETURL(A1)
gibt die URL für den in der Zelle A1 angezeigten Hyperlink zurück
Fügen Sie in Ihrem Code einfach
hinzu %Vor%Ich empfehle natürlich, vor dem Zugriff auf die Eigenschaft "Hyperlinks" einige Überprüfungen durchzuführen.
Verwenden Sie die Visual Studio-Tools für Office (VSTO), um die Excel-Arbeitsmappe zu öffnen und alle Hyperlinks zu extrahieren.
Ich habe einen Hyperlink in A1 von Sheet1 in Book1.xlsx eingefügt: text="example.com, address=" http://www.example.com "
%Vor%Ausgabe:
%Vor%Warum verwenden Sie nicht Uri-Klasse, um Zeichenfolge in URL zu konvertieren:
%Vor% Sie können VBA-Code verwenden, um dies zu erreichen.
Drücken Sie Alt
+ F11
, um den VB-Editor zu öffnen, fügen Sie einen Module
ein und fügen Sie den folgenden Code ein:
Speichern Sie Ihre Excel-Datei [in Excel 2007 und höher speichern als Makro aktiviert ...]
Ich bin gerade auf dieses Problem gestoßen und das hat bei mir funktioniert:
Ich habe die FormulaR1C1-Erweiterungsmethode für einen Bereich verwendet. Also sah mein Code so aus:
%Vor%Wenn der Datensatz zur Liste der Datensätze hinzugefügt wird, wird der Wert des Zellenbereichs in einen anklickbaren Hyperlink formatiert.