Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Link auf Verzeichnis oder Webseite

Link auf Verzeichnis oder Webseite
26.07.2021 17:10:30
Mich.l
Ich benutze das folgende Makro, um in Excel einen Link auf eine Datei auf der Festplatte zu setzen.
Option Explicit
Global z As Long, s As Long

Sub NeueLinks()
Dim NeueDateien As Variant, i As Long, z As Long, s As Long, r As Range
NeueDateien = Application.GetOpenFilename("Files (*.*), *.*", , "Meine Favoriten", "Einfügen", True)
If IsArray(NeueDateien) Then
s = 17
For z = 2 To 14 Step 3
If Cells(z, 17).Value = "" Then Exit For
Next z
If Not (IsEmpty(Cells(z, s))) Then z = z + 3
For i = LBound(NeueDateien) To UBound(NeueDateien)
If Not z > 14 Then
Cells(z, s).Hyperlinks.Add Anchor:=Cells(z, s), _
Address:=NeueDateien(i), _
TextToDisplay:=StrReverse(Split(StrReverse(NeueDateien(i)), "\")(0))
Else: MsgBox ("Es ist kein Platz mehr!")
End If
z = z + 3
Next i
End If
End Sub

Nun möchte ich aber auch auf ein Verzeichnis oder eine Internetseite einen Link setzen können.
Hierzu verwendet man ja:

Sub Verzeichnis()
Application.Dialogs(xlDialogInsertHyperlink).Show
End Sub

Mir ist aber nicht klar, wie ich automatisch die Anzeige des Links kürzen kann und wie man hier auf die nächste freie Zelle verweisen kann. Das sollte doch ähnlich funktionieren, wie oben, oder? Ich benötige von dem Menü eigentlich nur Verzeichnis oder Webseite. Email und aktuelles Dokument könnte, wenn das funktioniert ausgeblendet werden.
Danke im Voraus
Michl

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Link auf Verzeichnis oder Webseite
27.07.2021 13:16:40
Mich.l
Hier ist die zugehörige Excel-Datei. Bei dem Link auf die Datei funktioniert es so wie ich es will (Pfad wird abgeschnitten und Link wird in das 3.-nächste freie Feld gesetzt, bei dem Verzeichnis kann ich zwar per VBA das Modul aufrufen, aber ich weiß nicht, was ich da programmieren müsste, so dass es wie bei der Datei funktioniert.
https://www.herber.de/bbs/user/147327.xlsm
AW: Link auf Verzeichnis oder Webseite
27.07.2021 14:45:55
peterk
Hallo

Option Explicit
Sub NeueLinks()
Dim i As Long, z As Long, s As Long, r As Range
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\Temp\"
If .Show = -1 Then ' if OK is pressed
s = 5
For z = 2 To 14 Step 3
If Cells(z, 5).Value = "" Then Exit For
Next z
If Not (IsEmpty(Cells(z, s))) Then z = z + 3
For i = 1 To .SelectedItems.Count
If Not z > 14 Then
Cells(z, s).Hyperlinks.Add Anchor:=Cells(z, s), _
Address:=.SelectedItems(i), _
TextToDisplay:=StrReverse(Split(StrReverse(.SelectedItems(i)), "\")(0))
Else: MsgBox ("Es ist kein Platz mehr!")
End If
z = z + 3
Next i
End If
End With
End Sub
Sub Verzeichnis()
Dim i As Long, z As Long, s As Long, r As Range
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "C:\Temp\"
If .Show = -1 Then ' if OK is pressed
s = 5
For z = 2 To 14 Step 3
If Cells(z, 5).Value = "" Then Exit For
Next z
If Not (IsEmpty(Cells(z, s))) Then z = z + 3
For i = 1 To .SelectedItems.Count
If Not z > 14 Then
Cells(z, s).Hyperlinks.Add Anchor:=Cells(z, s), _
Address:=.SelectedItems(i), _
TextToDisplay:=StrReverse(Split(StrReverse(.SelectedItems(i)), "\")(0))
Else: MsgBox ("Es ist kein Platz mehr!")
End If
z = z + 3
Next i
End If
End With
End Sub

Anzeige
AW: Link auf Verzeichnis oder Webseite
27.07.2021 21:41:44
Mich.l
Super. Vielen Dank. Das funktioniert einwandfrei. Kann man denn auf diese Weise auch noch einen Link zu einer Internetseite einfügen? Dann wäre ich glücklich. Also entweder der Link, der gerade geöffnet ist, oder den man per STRG+V einfügen kann.
AW: Link auf Verzeichnis oder Webseite
28.07.2021 11:16:07
peterk
Hallo
Wen Du die Adresse bereits kopiert hast (STRG-C) kannst Du mit dieser Sub das Clipboard auslesen und als link einfügen.

Sub InternetSeite()
Dim i As Long, z As Long, s As Long, r As Range
Dim MyData As Object
Dim myText As Variant
Set MyData = CreateObject("htmlfile")
myText = MyData.ParentWindow.ClipboardData.GetData("text")
If UCase(Mid(myText, 1, 4)) = "HTTP" Then
s = 5
For z = 2 To 14 Step 3
If Cells(z, 5).Value = "" Then Exit For
Next z
If Not (IsEmpty(Cells(z, s))) Then z = z + 3
If Not z > 14 Then
Cells(z, s).Hyperlinks.Add Anchor:=Cells(z, s), _
Address:=myText, _
TextToDisplay:=myText
Else: MsgBox ("Es ist kein Platz mehr!")
End If
z = z + 3
End If
Set MyData = Nothing
End Sub

Anzeige
AW: Link auf Verzeichnis oder Webseite
28.07.2021 14:09:26
Mich.l
Super. Vielen Dank.
Kann man das Thema irgendwo als gelöst markieren?

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige