Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Anpassung aller Hyperlinks für Bilder

Frage Entwicklung VB for Applications

Mitglied: 3xplor3r

3xplor3r (Level 1) - Jetzt verbinden

09.11.2012 um 10:09 Uhr, 2847 Aufrufe, 3 Kommentare

Hallo,

ich wende mich nach mehreren Versuchen mit verschiedenen Beispielen an Euch.

Zur Situation: Ich habe eine Exceldatei mit mehreren Tabellenblättern in denen mehrere Bilder mit Hyperlinks hinterlegt sind. Diese Exceldatei dient als Vorlage und wird für ein neues Projekt jeweils verwendet.

Wenn also ein neues Projekt angelegt wird, müssen die Pfade der Hyperlinks geändert werden. Die Hyperlinks als solche rufen aus dem Excel Transaktionen, Reporte oder Systembefehle in einem SAP-System auf.

Pfad_Old: "C:\Vorlage\TR_SM59.sap"
Pfad_New: "C:\Projekte\Administrator\TR_SM59.sap"

Bisher hatte ich keinen Erfolg bei der Änderung des Pfades, außer mit einem aufgezeichneten Makro.

01.
Sub Makro2() 
02.
  ActiveSheet.Shapes.Range(Array("Picture 16")).Select 
03.
  Selection.ShapeRange.Item(1).Hyperlink.Address = _"..\..\Projekte\Administrator\" 
04.
End Sub
Diese Methode ist relativ starr, da ich alle Hyperlinks aller Bilder aktualisieren möchte.

Auf der anderen Seite wäre auch ein Makro möglich, dass die Verknüpfung im Laufwerk aufruft. Auch hier hatte ich verschiedene Beispiele ausprobiert, aber die Verknüpfung wurde nur bei manuellem Doppelklick ausgeführt.

LG
Mitglied: 76109
09.11.2012, aktualisiert um 14:22 Uhr
Hallo 3xplor3r!

In etwa so:
01.
Const sNewPath = "C:\Projekte\Administrator\" 
02.
 
03.
Sub SetNewHyperlinkAddress() 
04.
    Dim oFso As Object, oHyperlink As Hyperlink 
05.
     
06.
    Set oFso = CreateObject("Scripting.FileSystemObject") 
07.
     
08.
    For Each oHyperlink In ActiveSheet.Hyperlinks 
09.
        If oHyperlink.Type = msoHyperlinkShape Then 
10.
            oHyperlink.Address = sNewPath & oFso.GetFileName(oHyperlink.Address) 
11.
        End If 
12.
    Next 
13.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: 3xplor3r
13.11.2012 um 08:45 Uhr
Hallo Dieter,

das Coding hat funktioniert.

Kannst du mir sagen, was die Zeilen 6 und 9 machen? Bei der Zeile 9 interessiert mich die rechte Seite vom Operand.

Gibt es noch die Möglichkeit statt dem ActiveSheet das Workbook also die gesamte Exceldatei zu aktualisieren?

LG
Bitte warten ..
Mitglied: 76109
13.11.2012 um 16:38 Uhr
Hallo 3xplor3r!

Mit Codezeile 6 wird der Object-Variablen 'oFso' eine Klasse für das Dateisystem zugewiesen und in Codezeile 10 wird mit einer Funktion aus dieser Klasse das letzte Segment im Dateipfad ausgelesen und mit dem neuen Pfad verkettet, also in Deinem Beispiel: "C:\Projekte\Administrator\" + "TR_SM59.sap".

Mit der Codezeile 9 wird mit der Typ-Konstanten (rechts) geprüft, ob es sich um einen Shape-Hyperlink handelt. Somit werden nur Hyperlink-Adressen ersetzt, die mit einem Bild verknüpft sind.

Mit diesem Code werden alle Shape-Hyperlinks in der Arbeitsmappe ersetzt:
01.
Const sNewPath = "C:\Projekte\Administrator\"	 
02.
 
03.
Sub SetNewHyperlinkAddress() 
04.
    Dim oWks As Worksheet, oFso As Object, oHyperlink As Hyperlink 
05.
     
06.
    Set oFso = CreateObject("Scripting.FileSystemObject") 
07.
     
08.
    For Each oWks In Sheets 
09.
        For Each oHyperlink In oWks.Hyperlinks 
10.
            If oHyperlink.Type = msoHyperlinkShape Then 
11.
                oHyperlink.Address = sNewPath & oFso.GetFileName(oHyperlink.Address) 
12.
            End If 
13.
        Next 
14.
    Next 
15.
End Sub
Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Outlook 2007 Bild mit Hyperlink per VBSrict
gelöst Frage von RobertKaVB for Applications2 Kommentare

Hallo, habe folgendes Problem: Möchte mit VBScript eine Mail erstellen, die ein Bild enthält (nicht als Signatur) und welches ...

Webentwicklung
Anpassung htaccess
Frage von KlausIngeWebentwicklung10 Kommentare

Hallo, ich habe hier eine htaccess Datei. Diese sorgt dafür, das die domain www.abc.de/xyz angezeigt wird aber intern index.php?plugin=xyz ...

Vmware
VCenter - Anpassung der Struktur
Frage von Ghost108Vmware8 Kommentare

Hallo zusammen, gerne würde ich euch mal einen zensierten Screenshot meines vCenters zeigen (Anhand der Symbole kann man aber ...

Batch & Shell
Anpassung Script in bat
gelöst Frage von zeroblue2005Batch & Shell5 Kommentare

Hallo Zusammen, wie kann ich diese Reg Datei, in eine Batch einfügen, so dass diese ohne Rückfragen ausgeführt wird? ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 StundenWindows 10

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 4 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 18 StundenInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 22 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...