Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Grafikgröße nach Hyperlink festlegen

Betrifft: Grafikgröße nach Hyperlink festlegen von: Steffen
Geschrieben am: 17.05.2008 16:50:30

Ein "Hallo" an die Profis der Excel-Szene!

In der HTML- Programmierung gibt es die Option, eine Grafik mit einer bestimmten Größe im Zielfenster zu linken. ( target_blank=" Grafik.jpg" HIGHT="640" WIDTH="480") Bietet Excel oder VB ebenfalls diese Möglichkeit?

Im aktuellen Beispiel sieht das folgendermaßen aus:

Im Arbeitsblatt verweise ich via Hyperlink auf eine Grafik. Diese Grafik ist jedoch in einer 2048er Auflösung dargestellt ( ich habe hier leider keine Möglichkeit die Größe des Bildes zu ändern) und ich würde gerne haben wollen, dass der Link die Grafik in einem Fenster öffnet, welches eine Größe von 640 hat.

Wenn ja, wie wäre der Code oder der Lösungsansatz hierfür - die Forumsrecherche hat mich grad nicht wirklich weitergebracht.

Vielen Dank für eine Antwort.

Steffen

  

Betrifft: AW: Grafikgröße nach Hyperlink festlegen von: Reinhard
Geschrieben am: 17.05.2008 17:00:34

Hi Steffen,

mit welchem Bildbearbeitungsprogramm ist denn dein Bild verknüpft?

Gruß
Reinhard


  

Betrifft: AW: Grafikgröße nach Hyperlink festlegen von: Steffen
Geschrieben am: 17.05.2008 17:05:03

Microsoft Photo Editor ist firmenseitig vorgegeben


  

Betrifft: AW: Grafikgröße nach Hyperlink festlegen von: Steffen
Geschrieben am: 17.05.2008 17:05:35

Microsoft Photo Editor ist firmenseitig vorgegeben


  

Betrifft: AW: Grafikgröße nach Hyperlink festlegen von: Reinhard
Geschrieben am: 17.05.2008 17:26:12

Hi Steffen,

SendKeys ist zwar unsicher weil man sie so ganz genau weiß wohin Sendkeys "sendet" aber wäre einen Versuch wert.
Rehctsklick unten auf den Blattnamen und dann dies reinkopieren:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Application.SendKeys "abc"
End Sub

wobei abc stellvertretend für die Zeichenfolge steht die du wenn das Bild erscheint auf der Tastatur eingeben würdest um das Bild zu verkleinern, die Auflösung zu ändern usw.
Wie man Alt, Strg usw. einbindet wird bei Sendkeys Hilfe erklärt.

Alternativ, so wie hier im nachfolgenden Code nach "xlMain" (also Excel) gesucht wird nach dem Fenster des Photoeditors suchen und die Größe ändern.
Leider kenne ich mich in API nicht doll aus um den Code umzuschreiben und wenn dein Level stimmt müssen wir halt warten bis sich jmd. meldet der funktionierend den Code hat.
Deshalb frage auf noch offen gestellt.

Code ist von Nepumuk in der Beitragsfolge: http://www.office-loesung.de/ftopic16697_0_0_asc.php

Gruß
Reinhard

Option Private Module

Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y  _
As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long,  _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long,  _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As  _
String, ByVal lpWindowName As String) As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Private Enum Constants
    GWL_STYLE = -16
    WS_MAXIMIZEBOX = &H10000
    WS_MINIMIZEBOX = &H20000
    WM_PAINT = &HF
    SM_CXSCREEN = 0
    SM_CYSCREEN = 1
    xl_With = 600 'vorgegebene Breite der Anzeige
    xl_Hight = 400 'vorgegebene Höhe der Anzeige
End Enum

Public Sub Fix_Application()
    Dim xl_hwnd As Long
    xl_hwnd = FindWindow("xlMain", vbNullString)
    SetWindowLong xl_hwnd, GWL_STYLE, GetWindowLong(xl_hwnd, GWL_STYLE) And Not (WS_MINIMIZEBOX  _
Or WS_MAXIMIZEBOX)
    DrawMenuBar xl_hwnd
    MoveWindow xl_hwnd, GetSystemMetrics(SM_CXSCREEN) / 2 - xl_With / 2, GetSystemMetrics( _
SM_CYSCREEN) / 2 - xl_Hight / 2, xl_With, xl_Hight, WM_PAINT
End Sub 





 

Beiträge aus den Excel-Beispielen zum Thema "Grafikgröße nach Hyperlink festlegen"