webForumDet fria alternativet

word -> html

14 svar · 232 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
#1

Går det att i ASP konvertera flera doc-filer till html i samma veva?
Servern har word 2000 installerat.

...eller finns det nån freeware-programvara som klarar det, eller nån kod VBScript eller VB...?

JanspeedMedlem sedan jan. 2001510 inlägg
#2

Jo det ska gå. Jag vet bara inte exakt hur. Jag tror att det finns en inbyggd komponent i ASP men jag är inte säker.

Det finns flera inlägg här i forumet som tar upp ämnet. Prova att söka på "Word".

/JANspeed

ironheadMedlem sedan mars 20011 346 inlägg
#3

Jag har kommit fram till detta:

<%
Function WordToHTML(strWordDoc, strHTMLDoc)
On Error Resume Next

Dim objWord
Set objWord = CreateObject("Word.Application")
objWord.Visible = False
objWord.Documents.Open(strWordDoc) 
objWord.DisplayAlerts = False

If Err.Number <> 0 Then
WordToHTML = Err.Description
Else

Dim FileFormat
Dim LockComments
Dim Password
Dim AddToRecentFiles
Dim WritePassword
Dim ReadOnlyRecommended
Dim EmbedTrueTypeFonts
Dim SaveNativePictureFormat
Dim SaveFormsData
Dim SaveAsAOCELetter

FileFormat = 8
LockComments = False
Password = ""
AddToRecentFiles = False
WritePassword = ""
ReadOnlyRecommended = False
EmbedTrueTypeFonts = True
SaveNativePictureFormat = True
SaveFormsData = False
SaveAsAOCELetter = False

objWord.ActiveDocument.SaveAs strHTMLDoc, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts,SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter

objWord.ActiveDocument.Close
objWord.Quit
Set objWord = Nothing

If Err.Number <> 0 Then
WordToHTML = Err.Description
Else
WordToHTML = "Konvertering genomförd"

End If 
End If 
End Function

Response.write WordToHTML("c:\inetpub\wwwroot\word2html\chapter1.doc","c:\inetpub\wwwroot\word2html\chapter1.htm")
%>

..men får ett felmeddelande:

error '80010105'
The server threw an exception.

/word2html/konvert.asp, line 6

Kan det vara att man försöker skapa objektet flera gånger eller? hur kommer man förbi detta?

JanspeedMedlem sedan jan. 2001510 inlägg
#4

Det verkar som om Word och ASP är ett icke kartlagt område. :)

/JANspeed

ironheadMedlem sedan mars 20011 346 inlägg
#5

Synd! Tror nog många skulle ha nytta av detta...

Daniel78Medlem sedan jan. 2001200 inlägg
#6

Halloj! För mig fungerar det perfekt nuförtiden att konvertera word till html genom servern. Men tro mig att det har inte varit en lätt väg dit! Jag använder typ samma kodning som du gör och för mig ser det ut som om det har med någon konfiguration av word att göra och inte själva koden.

JanspeedMedlem sedan jan. 2001510 inlägg
#7

Du kan väl prova och söka på Microsofts hemsida om vad felet betyder.

/JANspeed

HermanMedlem sedan maj 2001431 inlägg
#8

Du kan inte skriva

Set objWord = CreateObject("Word.Application")

om funktionen ska köras på servern.
Skriv istället:

Set objWord = Server.CreateObject("Word.Application")

------------------
En eller annan godbit från pannan

ironheadMedlem sedan mars 20011 346 inlägg
#9

Herman:Detta är ett exempel gjort i VisualBasic, därav create och inte server.create.

JANspeed:Tycker jag får så kryptiska förklaringar hos MS ;)
Verkar ändå vara som Daniel78 säger, nån konfigurering med word.

Kan man kolla om objektet redan är aktiverat, eller kört eller nåt sånt?

Daniel78: Du har inte lust att dela med dig av lite kod och erfarenheter, konfigurationer till oss oerfarna...

[Redigerat av ironhead den 22 aug 2001]

HermanMedlem sedan maj 2001431 inlägg
#10

so? försöker du köra det på servern kan du inte använda bara create. Vad är ditt problem egentligen? Är det inte att du inte kan skapa objektet?? Har du provat att ändra till server.c

------------------
En eller annan godbit från pannan

ironheadMedlem sedan mars 20011 346 inlägg
#11

Sorry Herman, jag trodde jag hade skrivit Server.CreateObject...ber 1000ggr om ursäkt.
Fick nu detta fel:

Server object error 'ASP 0177 : 80010105'

Server.CreateObject Failed

/word2html/konvert.asp, line 6

The server threw an exception.

hwsoderlundMedlem sedan feb. 200132 inlägg
#12

Jag hade ett liknande problem (men ett annat felmeddelande), och då visade det sig att man måste göra en inställning på servern för att ge den tillstånd att köra exe.filer från asp-script.
Här finns diverse info om detta:
http://support.microsoft.com/support/kb/articles/Q184/6/82.ASP

Jag kollade lite mer på MSDN och hittade följande ang. det felmeddelande du får. I denna artikel låter det som om det kan ha med rättigheter att göra.
http://support.microsoft.com/support/kb/articles/Q175/8/04.ASP

Det är ju inte säkert att detta hjälper dig, men det kanske är en början.

/Henrik

tohaMedlem sedan dec. 1999707 inlägg
#13

Jag vet inte exakt vad felet är men du kan ju testa med följande kod:

On error resume next
Set oApplication = GetObject( ,"word.application") 
if err.number = 429 then
	err.clear
	Set oApplication = CreateObject("word.application") 
End if
On Error Goto 0

Eftersom Word är en out-of-process-komponent så kan man inte köra flera instanser av det vilket gör att man måste kolla om Word-objektet redan finns aktiverat, vilket ovanstående kod gör.

Du kan ju testa om det fungerar iaf. :)

------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige

ZigmaMedlem sedan aug. 200150 inlägg
#14

Måste inte Office vara installerat på servern för att "Word.application" ska finnas ?

Brukar väl inte direkt vara vanligt att installera Office på servrar, har ju inget där att göra egentligen.

ironheadMedlem sedan mars 20011 346 inlägg
#15

Office 2000 är installerat på servern

133 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)