Avatar billede nissetec Nybegynder
22. maj 2003 - 15:12 Der er 3 kommentarer og
2 løsninger

Link fra IE til Word

Jeg skal linke fra en .htm fil til et word-dokument fra hvilket der skal køre nogle rutiner ved hjælp af Document_Open i VBA.

Al sikkerhed (IE og Word) er for tilfældets skyld sat til lav.

Windows 2000-scenarie (SP3):
- Rutinen kører fint, når jeg linker fra et andet word-dokument til det word-dokument, hvor rutinen er.
- Rutinen ignoreres, hvis jeg linker fra en htm-fil og til dokumentet. Den eksekverer simpelt hen intet.

Windows XP-scenarie (SP1):
- Rutinen kører fint, uanset hvor der linkes fra.

Hvad er det, der gør, at jeg ikke kan linke fra en htm-fil i Windows 2000?

Findes der en patch? Eller er det en fejl i XP, at man kan eksekvere kode, når man linker til dokumentet?

Jeg går ud fra, at det er et spørgsmål om sikkerhed (på en måde). Jeg kunne ikke lige finde andre kategorier, som passede bedre.

MVH
Per
Avatar billede bufferzone Praktikant
22. maj 2003 - 15:41 #1
Jeg har ledt omkring og ikke kunne finde noget komkret. Jeg tror ikke vi er ude i noget sikkerhed, snarere noget med implementeringen af VBA og Document_Open i VBA.

Hvilken word version taler vi om? er den ens i begge opstillinger?
Avatar billede nissetec Nybegynder
22. maj 2003 - 15:50 #2
Vi snakker word 2000 i begge tilfælde, ens opsætning og sp3
Avatar billede bufferzone Praktikant
22. maj 2003 - 15:55 #3
hmmmm, jeg kikker lige rundt og spørger nogle mennesker
Avatar billede nissetec Nybegynder
26. juni 2003 - 14:54 #4
OK, jeg har snakket med nogle gæver gutter, der siger, at der er en bug, der forhindrer et word dokument i at eksekvere kode når det er indlejret i MSIE.

Så jeg har fundet på at scripte mig ud af det. Den kræver godt nok OK for ActiveX, men det har jeg så også her. Meget simpelt, til info:

<SCRIPT LANGUAGE=VBSCRIPT>
Sub document_onclick()
   
  Dim strSource
  Dim strFileName
  Dim objWordApp

  If UCASE(window.event.srcelement.tagname) = "A" Then   
   
      strSource = Cstr(window.event.srcelement.outerhtml) 
   
      If Instr(strSource, ".doc") > 0 Then   
   
        window.event.returnvalue = false   
        strFilename = Mid(strSource, Instr(strSource, "href")+6, Instr(strSource, ".doc")-6)
   
        Set objWordApp = CreateObject("Word.application")
        objWordApp.documents.open strFileName       
        objWordApp.visible = true           
        set objWordApp = nothing           
   
      End If
     
  End If

end sub

</SCRIPT>
Avatar billede nissetec Nybegynder
26. juni 2003 - 14:56 #5
Jeg synes ikke, jeg ville afvise dit svar, for det var jo faktisk noget med VB. Tak for svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester