html Datei mit Anker aufrufen

Bild

Betrifft: html Datei mit Anker aufrufen von: Horst
Geschrieben am: 12.04.2005 11:20:27

Hallo

Ich rufe folgendermaßen Index.html Datei auf, was auch funktioniert

Dim Scr_hDC As Long
Scr_hDC = GetDesktopWindow()
StartURL = ShellExecute(Scr_hDC, "Open", "Index.HTML", "", "C:", SW_SHOWNORMAL)


Ich möchte jedoch an eine ganz spezielle Stelle springen.
Deshalb habe ich in der HTML Datei Anker definiert. (z.B.)
Wie muss ich nun aufrufen , dass ich genau zum geünschten Anker springe

folgendes funktioniert nicht:
StartURL = ShellExecute(Scr_hDC, "Open", "Index.HTML#SCH1", "", "C:", SW_SHOWNORMAL)

Vielen Dank im Voraus
Horst

Bild


Betrifft: AW: html Datei mit Anker aufrufen
von: MichaV
Geschrieben am: 12.04.2005 14:49:33

Hi,

folgendes geht in XL2000:

Private Declare Function FindExecutable Lib "shell32.dll" Alias _
"FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory _
As String, ByVal lpResult As String) As Long



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim exe As String
  Dim pfad As String
  Dim datName As String
  Dim result As Long
  Dim dummy
  exe = Space(254) & Chr(0)
  pfad = "D:"
  datName = "index.html"
  
  result = FindExecutable(datName, pfad, exe)
  dummy = Shell(Left(exe, InStr(exe, Chr(0)) - 1) & " " & pfad & "\" & datName & "#Anker", 1)
End Sub


Du gehts ja auch über die API (oder sind das XP- Anweisungen, die ich mit meiner 9.0- Version noch nicht kenne), poste doch mal die API- Verweise, damit man es schneller nachvollziehen kann.

Gruß- Micha


Bild


Betrifft: AW: html Datei mit Anker aufrufen von: Horst
Geschrieben am: 12.04.2005 15:02:28

Hallo Micha,

im folgenden steht mein ganzer Code, welchen ich aus der Herber CD übernommen habe,
ohne alles voll zu verstehen.
Die Seite index.html wird auch einwandfrei aufgerufen.
Aber alle Versuche die Seite mit Anker aufzurufen scheitern. Es passiiert dann gar nichts.

P.S. Die Anker auf der HTML Seite habe ich getestet die funktionieren. Es muss also
beim Aufruf irgendwie schief gehen.






Private Declare

Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare 

Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1

Sub Hilfe_aufrufen()
 Dim Scr_hDC As Long
 Scr_hDC = GetDesktopWindow()
 StartURL = ShellExecute(Scr_hDC, "Open", "Index.HTML", "", "C:", SW_SHOWNORMAL)
 
End Sub



Bild


Betrifft: AW: html Datei mit Anker aufrufen von: MichaV
Geschrieben am: 12.04.2005 15:29:43

Hi,

Deine Variante funktioniert wie ein Klick auf die Datei index-html im Explorer. Die wird dann mit dem dazugehörigen Programm geöffnet, aber ein #Anker kann nicht übergeben werden. Denn wenn Du die Datei in index.html#Anker umbenennst, kannst du sie ja auch nicht öffnen. Deswegen funzt es nicht.

Meine Variante funktioniert wie die Eingabe von "iexplore.exe d:/index.html#Anker" als Kommandozeile z.B. in Start- Ausführen. Damit startest du den Explorer und übergibst einen bestimmten Parameter, den er dann verarbeiten kann. Das funzt dann auch.


Vielleicht kannst Du dich ja mit meiner Variante anfreunden, ansonsten stell den Threat wieder auf "offen".

Gruß- Micha

PS: Rückmeldung wäre diesmal nett.


Bild


Betrifft: AW: html Datei mit Anker aufrufen von: Horst
Geschrieben am: 12.04.2005 16:22:06

Hallo Micha,
Habe nun meinen Code weggeschmissen und durch Deinen ersetzt.
Super...es funktioniert.

Vielen Dank

Noch eine kleine Frage am Rande:
Gibt es eigentlich auch eine Möglichkeit nur den Bereich zwischen z.B. Anker 2 und
Anker 3 anzuzeigen?
Das währe in meinem Fall sinnvoll da es ja eine Hilfe geben soll.

Nochmals vielen Dank
Gruß Horst


Bild


Betrifft: AW: html Datei mit Anker aufrufen von: MichaV
Geschrieben am: 12.04.2005 16:54:51

Hi,

ich hab mal noch ein bissel getestet. Mindestens einen kleinen Haken hat meine Variante, sie funzt nämlich überhaupt nicht, wenn der Standart- Browser Netscape oder Firefox ist.

Das mit den Ankern wie Du es willst geht nicht. Das kann kein Browser. Du müsstest dann schon für jedes Thema eine eigene Datei anlegen.

Wenn Du eine richtige Hilfedatei erstellen willst, dann frag Onkel Herber oder schau z.B. hier: http://www.activevb.de/tutorials/tut_hilfedateien/helpfiles.html

Gruß- Micha


 Bild

Beiträge aus den Excel-Beispielen zum Thema "html Datei mit Anker aufrufen"