Avatar billede morton Nybegynder
19. oktober 2001 - 10:02 Der er 1 løsning

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
Avatar billede morton Nybegynder
19. oktober 2001 - 13:05 #1
Fandt ud af at problemet lå andetsteds
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