Hej! Prova ställa frågan i asp-forumet... Hej! ASP för att din kod med Set fso etc ser ut som ett ASP-script och inte ACCESS/SQL :) <b>Jag vet bara inte varför jag skulle lägga detta i asp-forumet då det inte är asp jag jobbar i? </b> Hej Sofia,Koll om en filen är lösenordsskyddad?
Jag måste loopa igenom alla word-dokument på en filserver där jag öppnar, sparar som och stänger filerna.
En del av filerna har användaren dock lösenordskyddat. Dvs man får när man öppnar den upp en ruta att ange lösenord i alternativt öppna filen read-only.
Dessa filer skulle jag vilja att mitt script bara struntar i och fortsätter med resten. Som det är nu står scriptet och väntar på ett svar och då detta ska köras nattetid fungerar det inget bra...
Finns det något sätt att kolla om filen är lösenordsskyddad eller inte?
Jag använder filesystemobject för att öppna, spara,stänga. Bifogar koden för säkerhets skull.
Dim Directory
Directory = "c:/test/"
Set fso = CreateObject("Scripting.FileSystemObject")
Set Folder = fso.GetFolder(Directory)
Set Documents = Folder.Files
Set objApp = CreateObject("Word.Application")
objApp.Visible = False
'Loops through files in current subfolder to open, save and close
For Each doc In Documents
Dim currentDoc As String
currentDoc = Directory & doc.Name
'Här någonstans skulle jag vilja kolla om den är lösenordsskyddad, innan jag öppnar den...
objApp.Documents.Open fileName:=currentDoc
objApp.ActiveDocument.Save
objApp.ActiveDocument.Close
Next
Tack!!!
Sofia
Sv: Koll om en filen är lösenordsskyddad?
Eventuellt kan detta kan vara till någon hjälp: http://msdn.microsoft.com/library/en-us/dv_wrcore/html/wrgrfApplicationProperties.asp, kanske DisplayAlerts går att använda?Sv:Koll om en filen är lösenordsskyddad?
Tack för ditt svar.
Jag vet bara inte varför jag skulle lägga detta i asp-forumet då det inte är asp jag jobbar i?
Jag måste tyvärr veta om filen är lösenordsskyddad eller inte då dessa filer inte ska hanteras över huvudtaget.
Någon annan som har någon idé hur jag kan kolla om en fil är lösenordsskyddad eller inte?
Mvh,
SofiaSv: Koll om en filen är lösenordsskyddad?
Sv: Koll om en filen är lösenordsskyddad?
Tror chansen att du får ett bättre svar ökar om du ställer frågan där, eftersom jag tror att det är fler som läser ASP-forumet. Man använder samma teknik inom ASP som inom VBA...
Alternativt kan du prova ställa frågan i Visual Basic-forumet.Sv: Koll om en filen är lösenordsskyddad?
det är inte alltid så lätt att veta vilken tråd man ska fråga i! Själv skulle jag nog föreslå Office-tråden eftersom det är VBA du behöver hjälp med. Skulle dock tro att det är måna som läser fler än en tråd så här får du ett tips oavsett. Jag har valt att klippa bort koden utanför loopen:
...snipp...
On Error Resume Next
For Each doc In Documents
Dim currentDoc As String
currentDoc = Directory & doc.Name
objApp.Documents.Open FileName:=currentDoc, PasswordDocument:="blabla"
If Err.Number <> 0 Then
If Err.Number = 5408 Then
' lösenordskyddat
Err.Clear
Else
' annat fel, gör något
End If
End If
objApp.ActiveDocument.Save
objApp.ActiveDocument.Close
Next
...snipp...
Genom att ange ett nonsenslösenord i parametern "PasswordDocument" genereras ett fel om dokumentet är lösenordsskyddat med ett annat lösenord. Du kan då med hjälp av felhantering välja att skippa det dokumentet. Dokument utan lösenordsskydd bryr sig inte om parametern så då blir det inget fel.