Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Excel - Hyperlink - Scroll auf oberen Bildschirmrand (https://www.delphipraxis.net/181038-excel-hyperlink-scroll-auf-oberen-bildschirmrand.html)

Nimmersatt 9. Jul 2014 16:48

Excel - Hyperlink - Scroll auf oberen Bildschirmrand
 
Hallo,

Zur Navigation innerhalb einer Excel-Datei habe ich Hyperlinks angelegt. Mein Problem ist, dass beim Klick auf die Hyperlinks zwar die Zielzelle korrekt "angesprungen" wird, aber leider nicht an den oberen Bildschirmrand gerollt wird.


Mein Hyperlink lautet

excel.sheets[1].Hyperlinks.Add(excelobj.sheets[1].cells[20,1],'','Tabelle2!a20',EmptyParam,'Sprung';



Folgender Befehl funktioniert nicht

Excel.sheets[1].Range('A20').Hyperlinks(1).Follow;



Danke

Nimmersatt 20. Aug 2014 13:09

AW: Excel - Hyperlink - Scroll auf oberen Bildschirmrand
 
Zu dieser Thematik folgender Code

Hallo Helmut,

ich vermute mal, da es viele Bildshirmauflösungen gibt hast Du da keine Change. Oben links wäre machbar.

Auf Zelle springen und Anzeige ganz oben links
Application.Goto Reference:=Worksheets("Tabelle1").Range("A51"), Scroll:=True
oder
Option Explicit

Private Sub Workbook_Open()
ActiveWindow.ScrollColumn = ActiveWindow.ActiveCell.Column
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
End Sub


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
ActiveWindow.ScrollColumn = ActiveWindow.ActiveCell.Column
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
End SubDiesen Code dem Workbook zuweisen. Es ist erforderlich, daß die beiden Scroll Befehle sowohl dem Ereignis Workbook_Open als auch Workbook_SheetChange zuzuweisen. Dann erscheint die aktive Zelle immer links oben.
Von "Quinoman" Michael


Kann das jemand in Delphi übersetzen ?


mfg Nimmersatt

Nimmersatt 20. Aug 2014 13:19

AW: Excel - Hyperlink - Scroll auf oberen Bildschirmrand
 
Hier eine gekürzte Fassung


Hallo Popi,

das kannst Du mit einem VBA-Makro erreichen : Kopiere das folgende Makro in das Modulblatt des gewünschten Tabellenblattes (also z.B. in "Tabelle1" im VBA-Editor) :


Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
ActiveWindow.ScrollRow = ActiveCell.Row 'Zeile rollen
ActiveWindow.ScrollColumn = ActiveCell.Column 'Spalte rollen
End Sub


Gruß, JerryB


mfg Nimmersatt

Jumpy 20. Aug 2014 13:29

AW: Excel - Hyperlink - Scroll auf oberen Bildschirmrand
 
Das sind Event gesteuerte Prozeduren (FollowHyperlinik,Workbook_open) usw.
Dia kannst du so erstmal nicht in Delphi brauchen.

Nimmersatt 20. Aug 2014 13:55

AW: Excel - Hyperlink - Scroll auf oberen Bildschirmrand
 
Hallo Jumpy,

Kann ich über Delphi das VBA-Makro in Excel implantieren, so dass ich es nicht in Delphi programmieren muss ?

mfg Nimmersatt

Jumpy 20. Aug 2014 14:02

AW: Excel - Hyperlink - Scroll auf oberen Bildschirmrand
 
Hier steht glaub ich in etwa, wie das in VBA geht. Kannst ja mal versuchen, dass für Delphi zu adaptieren:

http://www.herber.de/forum/archiv/24...einfuegen.html

Nimmersatt 20. Aug 2014 14:17

AW: Excel - Hyperlink - Scroll auf oberen Bildschirmrand
 
Das überfordert mich ganz klar.
Vielleicht gibt es ja einen anderen Lösungsweg.

mfg Nimmersatt


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz