Pozdrav!
Napisao sam vb.net servis ciji je zadatak da otvori word dokument, izvrsi zamjenu
odredjenih karaktera u dokumetnu i snimi izmjene. Kod je ispod:
Dim oWord As Object
Try
oWord = CreateObject("Word.Application")
oWord.Documents.OPEN("C:\Temp\test.doc")
oWord.SELECTION.FIND.Execute("&01&", False, False, False, False, False, True, 1, False, cIme, 2)
oWord.SELECTION.FIND.Execute("&02&", False, False, False, False, False, True, 1, False, cAdresa, 2)
oWord.Documents.save()
oWord.Documents.close()
oWord.Quit()
Catch ex As Exception
rezultat = ex.Message
Return rezultat
Exit Function
End Try
Kod radi na mom racunaru medjutim ne i kada servis postavim na web server.
Najprije sam dobijao izuzetak "cannot create ActiveX component" medjutim to sam rjesio tako sto
sam useru NETWORK SERVICE dao prava nad Word-ovim DCOM objektom.
Sada jednostavno dobijem izuzetak sa porukom "command failed".
Na web serveru je instaliran OFFICE 2007 i kada pokrenem web servis u Task Manager-u vidim proces
WINWORD.EXE pod user-om NETWORK SERVICE.
Pretpostavljam da se komanda oWord = CreateObject("Word.Application") uspjesno izvrsi ali da nastane
problem kod oWord.Documents.OPEN("C:\Temp\test.doc"). Nad navedenim .doc fajlom su prava Everyone/Full Control.
Ima li neko ideju?