Her er et bud, men der er en række forudsætninger:
1) Du kører Excel 2007.
2) Alle filer der skal bearbejdes lægges i den samme mappe, og den må KUN indeholde disse filer (dvs de SKAL være Excel-filer).
3) Du laver en TOM mappe til pdf filerne.
4) Den fane der skal outputtes som pdf hedder det samme i alle filer, og den SKAL findes i alle filer.
5) Denne makro benytter FileSystemObject, som ikke er refereret pr. standard. Så når du har kopieret makroen ind i et modul i Visual Basic skal du gøre følgende:
Gå in i Tools>References...
I rullelisten finder du "Microsoft Scripting Runtime" og vinger den af. Klik OK.
Kopier denne makro ind i et modul i Visual Basic, og så
VIGTIGT:De 3 variabler KildeMappe, PdfMappe og FaneNavn skal du
rette til dine egne.
KildeMappe er den mappe der indeholder Excel-filerne -SKAL slutte med \
PdfMappe er en ny tom mappe til pdf-filerne -SKAL slutte med \
FaneNavn -siger sig selv
Sub KonverterFiler()
Application.ScreenUpdating = False
Dim i As Long
Dim KildeMappe As String, PdfMappe As String
Dim NytNavn As String, FaneNavn As String
Dim fso As New FileSystemObject
Dim fls As Files, f As File
KildeMappe = "D:\Excel\Eksperten.dk\890253\Kilde\"
PdfMappe = "D:\Excel\Eksperten.dk\890253\pdf\"
FaneNavn = "DetteArk"
Set fls = fso.GetFolder(KildeMappe).Files
For Each f In fls
Workbooks.Open Filename:=KildeMappe & f.Name
Sheets(FaneNavn).Select
NytNavn = Left(f.Name, InStrRev(f.Name, ".", , vbTextCompare))
NytNavn = PdfMappe & NytNavn & "pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
NytNavn, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
ActiveWindow.Close
DoEvents
Next f
Set fls = Nothing
Set fso = Nothing
Application.ScreenUpdating = True
MsgBox "Konvertering er udført"
End Sub