stripning af excel-filer til pdf via. asp
Hej Eksperter,Jeg står med et problem jeg håber i kan hjælpe mig med at løse. Jeg håber det er det rigtige sted jeg har postet spørgsmålet.
Jeg har en excel-fil som når man klikker på skal generere en pdf-fil, hvori indholdet af excel-filen vises i.
Med det kode jeg har nu åbner filen sig bare i et nyt browservindue og står og loader og bliver ved med at loade, den får aldrig hentet noget:
Her er koden:
<!-- #INCLUDE VIRTUAL=\"/inc/const.asp\" -->
<!-- #INCLUDE VIRTUAL=\"/inc/filemanipulator.asp\" -->
<%
Server.ScriptTimeOut = 6000
Set oFM = Server.CreateObject(\"SoftArtisans.FileManager\")
\'oFM.LogOnUser \"test\",\"test\",\"test\"
\'---------------Get the IIsWebService Admin object
\'Set oWebService = GetObject(\"IIS://LocalHost/W3svc\")
\'---------------- Enable AspAllowOutOfProcComponents
\'oWebService.Put \"AspAllowOutOfProcComponents\", True
\'---------------- Save the changed value to the metabase
\'oWebService.SetInfo
\'response.write(\"done\")
\'response.end
\'oFM.revertToSelf
\'SET oFM=NOTHING
tempname=request(\"tempname\")
Dim excel,isexcel,nygenereret
nygenereret=false
isexcel=false
\'On error resume Next
filename=request(\"filename\")
filename=replace(filename,\"%20\",\" \")
dim rentfilnavn
\'lav om hvis det er en .xls fil
xlspos=InStrRev(filename, \".xls\")
if xlspos<>0 Then
pos=InStrRev(filename, \"/\")
if pos=0 Then
nytfilename=\"_\"&filename
rentfilnavn=filename
fullpath=Server.Mappath(filename)
Else
nytfilename=left(filename,pos)&\"_\"&mid(filename,pos+1)
rentfilnavn=mid(filename,pos+1)
fullpath=Server.Mappath(left(filename,pos))&\"\\\"&mid(filename,pos+1)
End if
pos=InStrRev(fullpath, \"\\\")
if pos=0 Then
nytnavn=\"_\"&fullpath
Else
nytnavn=left(fullpath,pos)&\"_\"&mid(fullpath,pos+1)
End if
nytnavn=left(nytnavn,InStrRev(nytnavn, \".\")-1)
nytnavn=nytnavn&\".pdf\"
EventLogInfo(\"Extranet henter excelfil: \"&fullpath)
Else
pos=InStrRev(filename, \"/\")
onlydirname=left(filename,pos-1)
onlyfilename=mid(filename,pos+1)
nytnavn=Server.Mappath(onlydirname)&\"\\\"&onlyfilename
EventLogInfo(\"Extranet henter fil: \"&nytnavn)
End if
\'Set Executor = Server.CreateObject(\"ASPExec.Execute\")
\'Executor.Application = \"cmd\"
\'Executor.Parameters = \"/C attrib -h -r \"\"\"&nytnavn&\"\"\"\"
\'response.write(\"af \"&Executor.Parameters&\"<br>\")
\'Executor.ExecuteDosApp
\'Check om _filen exsisterer
openFilemanager
Set FileObj = CreateObject(\"Scripting.FilesystemObject\")
if xlspos<>0 Then
SET fileorg=oFM.getfile(fullpath)
orgfiledate=fileorg.DateLastModified
if err.number<>0 Then orgfiledate= \"Januar 1, 1960\"
SET fileorg=NOTHING
\'On error resume Next
if FileObj.fileexists(nytnavn) Then
SET filestrip=oFM.getfile(nytnavn)
stripfiledate=filestrip.DateLastModified
else
stripfiledate= \"Januar 1, 1960\"
End If
\'On error resume Next
if (CDATE(orgfiledate)>CDATE(stripfiledate)) Then \'generer ny strip fil
if Cstr(stripfiledate)<> \"Januar 1, 1960\" Then
filestrip.move nytnavn&\".todelete\",true
SET filestrip=NOTHING
set filestrip=oFM.getfile(nytnavn&\".todelete\")
filestrip.delete true
SET filestrip=NOTHING
End If
isexcel=true
EventLogInfo(\"Extranet skal generere pdf ud fra excelfil: \"&nytnavn)
Set excel = server.CreateObject(\"Excel.Application\")
excel.DisplayAlerts = false
doUpdateLinks=0
ReadOnly=true
excel.Workbooks.Open fullpath,doUpdateLinks,ReadOnly
Dim OprindeligFil, NyFil
Dim AktueltArk
\'excel.ScreenUpdating = true
excel.AskToUpdateLinks = False
\' excel.Interactive= false
\'*************************
\'** Initialiserer makro **
\'*************************
OprindeligFil = excel.ActiveWorkbook.Name
excel.ActiveWorkbook.Unprotect
For Each xSheet In excel.Worksheets
xSheet.Unprotect
xSheet.PageSetup.PrintQuality = 600
\'xSheet.PageSetup.PrintArea = true
\'xSheet.PageSetup.FitToPagesTall = 1
\'xSheet.PageSetup.FitToPagesWide = 1
Next
excel.ActiveWorkbook.PrintOut , , 1, False, \"Acrobat Distiller\", False, True
\'excel.ActiveWorkbook.PrintOut , , 1, False, , False, True
nygenereret=true
excel.Quit
SET excel=nothing
End If
Else
SET filestrip=oFM.getfile(nytnavn)
End If
set FileObj=NOTHING
pos=InStrRev(nytnavn, \"\\\")
rentfilnavn=trim(mid(nytnavn,pos+1))
org_pdfname=nytnavn
pos=InStrRev(org_pdfname, \"\\_\")
PDFDIR=Trim(Server.Mappath(\"/strip_pdf\"))&\"\\\"
\'fullpath=Server.Mappath(EXTRANET_GATEWAY_GENERER_PDF)&\"\\\"
org_pdfname=mid(org_pdfname,pos+2)
pos=instr(org_pdfname,\" - \")
if pos>0 Then \' Kompenser for fejl i Acrobat 5.0, der klipper filnavne hvis der står \" - \" i
org_pdfname=PDFDIR&trim(mid(org_pdfname,pos+len(\" - \")))
Else
org_pdfname=PDFDIR&org_pdfname
End If
\'response.write(\"**\"&org_pdfname&\"**<br>\")
if nygenereret Then
\'response.write(\"**Nygenerering: \"&org_pdfname&\"-->\"&EXTRANET_TEMPDIR&tempname&\"**<br>\")
\' Vi bliver nød til at vente lidt, ellers kan org_pdfname være i brug stadig
set mywait = server.createobject(\"Dynu.Wait\")
mywait.Wait(2)
call oFm.Copyfile (org_pdfname, EXTRANET_TEMPDIR&tempname,1) \' kopier fil til ydresidemaskinen
mywait.Wait(1)
set mywait = nothing
Else
\'response.write(\"**Eksisterende: \"&org_pdfname&\"-->\"&EXTRANET_TEMPDIR&tempname&\"**<br>\")
if xlspos<>0 Then
EventLogInfo(\"Extranet henter allerede genereret pdffil: \"&nytnavn)
End If
call oFm.Copyfile (nytnavn, EXTRANET_TEMPDIR&tempname,1) \' kopier fil til ydresidemaskinen
set mywait = server.createobject(\"Dynu.Wait\")
mywait.Wait(1)
set mywait = nothing
End If
if xlspos<>0 Then
\'Executor.Application = \"cmd\"
\'if nygenereret Then
\' Executor.Parameters = \"/C attrib +H +R \"\"\"&org_pdfname&\"\"\"\"
\'Else
\' Executor.Parameters = \"/C attrib +H +R \"\"\"&nytnavn&\"\"\"\"
\'End If
\'Executor.ExecuteDosApp
\'Executor.Parameters = \"/C attrib +H +R \"\"\"&EXTRANET_TEMPDIR&tempname&\"\"\"\"
\'response.write(Executor.Parameters)
\'Executor.ExecuteDosApp
End if
\'SET Executor=NOTHING
if nygenereret Then
SET oFile1=oFM.GetFile (org_pdfname)
oFile1.Move (nytnavn) \' rename file, add a _ to it
set oFile1=nothing
End If
EventLogSuccess(\"Extranet har nu hentet: \"&filename)
closeFilemanager
%>
Det kode jeg har
