Avatar billede Morten Nybegynder
06. december 2004 - 09:21 Der er 7 kommentarer og
1 løsning

Word - Saveas - delete

Hej

Jeg har skrevet noget VBA som gemmer et word dokument på vores server, samtidig var det meningen at den lokale kopi skulle slettes - men det vil den ikke - det er som om at den lokal kopi stadig er åben - i ved hvis man kigger i stifinder har man en fil som ser således ud ~kument.doc og når det "nye" dokument (som ligger på serveren) lukkes så findes filen stadig på det lokale drev - min funktion ser ud som følgende:

                With ActiveDocument
                    StatusBar = "Gemmer " & QuotationNumber & " - " & strVer & " på " & strQuotPath & "\"
                    'Gemmer Tilbudet på netværket
                    .SaveAs FileName:=strQuotPath & "\" & QuotationNumber & " - " & strVer, AddToRecentFiles:=True
                End With
               
                'Sletter Tilbudet fra til skriv mappen \Quotations - fjerne de to første fra numret for at matche
                If FSO.FileExists(glbQTilSkriv & "\" & Right((QuotationNumber & ".doc"), 12)) = True Then
                  StatusBar = "Sletter " & QuotationNumber & ".doc" & " i " & glbQTilSkriv
                  FSO.DeleteFile FileSpec:=(glbQTilSkriv & "\" & Right((QuotationNumber & ".doc"), 12)), Force:=True
                End If

Den kommer med en 'Runtime error 70' Permission Denied

Hvordan lukker jeg det oprindelige dokument så jeg kan slette det.

PS. Det har ikke noget med rettigheder da jeg har lokale adm. rettigheder på maskinen og sagtens kan gå i stifinder og slette filen.
Avatar billede supertekst Ekspert
06. december 2004 - 11:41 #1
activedocument.close
Avatar billede Morten Nybegynder
06. december 2004 - 11:50 #2
Nej - for det aktive dokument er netop ikke det Gamle dokument - men det nye...'!!!!
Avatar billede supertekst Ekspert
06. december 2004 - 14:15 #3
OK, men hvad så med at gemme sti+navn på dokumentet inden du anvender GemSom.
Til sidst slettes den oprindelige fil.

MVH
Avatar billede Morten Nybegynder
06. december 2004 - 14:22 #4
Nej - den har jeg prøvet men den virker ikke hver gang ?!?

Men jeg lavede selv en work-around...

Jeg åbner blot det gamle dokument efter saveas - og bruger så activedocument.close og så sletter jeg

Det virker

Men det er sq da noget fis at man ikke kan gøre det mere strømlinet... nå men det virker - lader spørgsmålet stå hvis noget har et rigtig godt svar
Avatar billede kabbak Professor
06. december 2004 - 21:39 #5
Public Sub gemOgSlet()
Old = ActiveDocument.Path & "\" & ActiveDocument.Name
  With ActiveDocument
        StatusBar = "Gemmer " & QuotationNumber & " - " & strVer & " på " & strQuotPath & "\"
        'Gemmer Tilbudet på netværket
        .SaveAs FileName:=strQuotPath & "\" & QuotationNumber & " - " & strVer, AddToRecentFiles:=True
    End With

    Kill (Old)
End Sub
Avatar billede Morten Nybegynder
07. december 2004 - 10:04 #6
Desværre kabbak - det giver samme fejl!!
Avatar billede Morten Nybegynder
25. februar 2005 - 01:07 #7
Jeg klarede den med en service pack opdatering til min word 2000

Smid venligst et svar Kabbak...
Avatar billede kabbak Professor
25. februar 2005 - 01:39 #8
et svar ;-))
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