Avatar billede thorvald Nybegynder
04. maj 1999 - 00:00 Der er 11 kommentarer og
1 løsning

Krydsreference

på vores intranet har vi mange word-dokumenter. Kan man fra asp åbne sådanne dokumenter, og undersøge, om dokumentet indeholder links til andre websites ?
Thorvald
Avatar billede cybles Nybegynder
05. maj 1999 - 00:03 #1
Thorvald det kan siges meget enkelt det kan ikke lade sig gøre. Det du vil er jo at åbne et word dokument fra en asp fil men hvad vil du åbne og læse den medden med ??? der er jo kun word der kan læse de filer, derudover ønsker du at en asp komponenten vil kunne søge igennem dit word dokumnet.

Jeg vil forslå dig at du istedet laver en rutine der kopiere dine word dokumenter over i en skuffe hvor du har et sæt asp eller htm(l) dokumnter liggende, dem kan du så åbne og gennemsøge....jeg kan ikke se hvordan det ellers kan lade sig gøre....
Avatar billede thorvald Nybegynder
05. maj 1999 - 00:17 #2
Jeg ser flere forskellige muligheder, idet jeg fra asp kunne lave en binary read fra wordfilen, og så søge efter http, men f.eks. gemmer Word97 alle tegn som dobbelttegn. Det kan dog løses.

En løsning som jeg hellere vil gå efter er at kalde Words html-konverter, eller noget lignende, fra asp-siden. Så vidt jeg har forstået kan man via en dll, ocx eller andet gøre hvad som helst på serveren, og dermed også fra et asp-script.

Det kan være jeg i stedet skulle have spurgt i et office-forum.
Avatar billede asp Nybegynder
05. maj 1999 - 00:18 #3
Der er et firma som har udviklet et komponent til word integrering, se:

http://207.90.181.40/

Du kan også læse en masse poster om emnet på 15 seconds, følg linket:

http://listserv.15seconds.com/scripts/wa-15seconds.exe?S2=activeserverpages&L=ActiveServerPages&q=word+document&s=&f=&a=&b=

mvh

Dennis Knappe

Avatar billede thorvald Nybegynder
05. maj 1999 - 00:42 #4
Hej Dennis

Det ser ud til at 15 seconds er stedet at kigge, for der er eksempler på at man åbner/opretter word-dokumenter fra asp. Som newbee har jeg ikke så meget styr på det med point, men for 120 skulle man vel kunne få mere end en stabel poster :-)
Avatar billede thomas Nybegynder
05. maj 1999 - 08:38 #5
Cybles har absolut ikke ret!!!

Det kan sagtens lade sig gøre, det "eneste" det kræver er at du programmerer en ActiveX DLL, fortrinsvis i Visual Basic(pga at det er nemt at kalde word m.m.), der scanner et word dokumentet eller flere for de links du omtaler. Det er altså ikke umuligt som cybles skriver. Det er jo netop det fede ved asp, kan asp det ikke så kan du med sikkerhed kode en komponent der kan gøre det.

prøv dig frem, der er masser af dokumentation omkring VB og office pakken!

Thomas
Avatar billede thorvald Nybegynder
05. maj 1999 - 16:12 #6
Nu er jeg ikke nogen haj til VB, så skulle der være en venlig sjæl, som har prøvet noget lignende er jeg meget interesseret i kodeeksempler.

Thorvald
Avatar billede pingo Nybegynder
06. maj 1999 - 17:30 #7
alfar som deltager i dette forum engang i mellem udviklede en sådan komponent til en opgave vi lavede for et stykke tid siden - jeg sender ham lige herind - så kan han sikkert hjælpe dig, hvis du kaster nogle points i hovedet af dig!
Avatar billede thorvald Nybegynder
06. maj 1999 - 20:44 #8
De 120 er stadig på højkant for et ordentligt eksempel.
Avatar billede alfar Nybegynder
06. maj 1999 - 21:27 #9
Det kan sagtens lade sig gøre.

Lav en activeX-dll i VB
Tilføj et modul, hvis der ikke allerede er et, og tilføj reference til Microsoft Word Object Library

I modulet skal der være en public variabel og to funktioner:

'--------------------------------------------
' Start Modul
'--------------------------------------------

Public MyWord As Word.Application

Public Function Initialize()
    Set MyWord = CreateObject("Word.Application")
    Set Initialize = MyWord
End Function

Public Function Close()
    Set MyWord = Nothing
    Set Close = Nothing
End Function

'--------------------------------------------
' Slut på modul
'--------------------------------------------

Nu kan DLL'en kompileres, registreres med regsvr32.exe og bruges i en asp fil med noget i denne stil:

Set MyWordDLL = Server.CreateObject("DLLNavn.Modulnavn")

Set MyWord = MyWordDLL.Initialize()

' Nu virker MyWord som et Word-Objekt, nøjagtig som i VBA - Resten kan man læse sig til i hjælpefilerne, når man redigerer makroer i word. Husk at skrive MyWord. foran hvert objekt, for eksempel:

Set MyDoc = MyWord.Documents.Add()

'Nu er MyDoc et nyt tomt word-dokument.


Avatar billede alfar Nybegynder
06. maj 1999 - 21:29 #10
Husk at afslutte koden med

' Luk Word uden at gemme ændringer
MyWord.Quit false
' Afbryd forbindelsen
Set MyWordDLL = MyWordDLL.Close()
Avatar billede thorvald Nybegynder
07. maj 1999 - 12:42 #11
Det vil jeg fluks prøve.
Avatar billede thorvald Nybegynder
07. maj 1999 - 13:28 #12
Jeg er nok ikke engang en lille sild, for VB giver mig syntaks-fejl på Close.

Er det en anden function jeg skal bruge eller er det fordi den ikke er Microsoft Word Object Library (8.0)
Thorvakd
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
Kurser inden for grundlæggende programmering

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