Slik kopierer mapper med VBA

Slik kopierer mapper med VBA


Visual Basic for Applications, eller VBA, er et skriptspråk innebygd i de fleste Microsoft Office-programmer. Med det kan du opprette makroer og funksjoner for å automatisere ulike oppgaver. VBA leveres med et bredt utvalg av objekter og funksjoner som kan hjelpe deg å arbeide med dokumentene raskere og mer effektivt. Med File klasse, kan du også manipulere filer og mapper hvor som helst på datamaskinen din fra hvilken som helst Office-program. Ved å opprette en enkelt VBA-makro og tildele en tastaturkommando til det, kan du lettere kopiere, organisere og lage sikkerhetskopier av dine mapper.

Bruksanvisning

1 Begynn alle Microsoft Office-program, for eksempel Word eller Excel. Trykk "Ctrl" og "N" for å opprette et nytt dokument. For å bruke et eksisterende dokument i stedet, trykk på "Ctrl" og "O", velg filen, og klikk deretter på "Open".

2 Trykk "" Alt "og" F11 "for å åpne Visual Basic Editor, eller VBE. På" Project Explorer "panel, velg VBA-prosjekt som inneholder filnavnet på dokumentet.

3 Klikk på "Sett inn" og velg deretter "Module". Dette legger "module1" til listen over modulene i "Project Explorer" panel. Dobbeltklikk på "module1", og skriv deretter inn følgende kode inn i editoren.

Sub CopyFolders ()

folderNames = Array ( "C: \ 1 Mappe", "C: \ mappe2")

dest = "C: \ omgivelse"

For hver s I folderNames

Call CopyF(s, dest & "\")

Neste s

End Sub

4 Erstatt "C: \ 1 Mappe" og "C: \ mappe2" med mapper som du ønsker å kopiere. For å legge til en annen mappe i listen, skriv inn et komma, og deretter sette den fullstendige banen til mappen før den avsluttende parentesen av "Array" -funksjonen. Sørg for å inkludere stasjonsbokstaver og å legge banene i anførselstegn.

5 Erstatt "C: \ omgivelse" med den fullstendige banen til katalogen der du ønsker å sende kopier av dine mapper. Sørg for å inkludere stasjonsbokstaven og å legge det i anførselstegn.

6 Klikk på "Sett inn" og velg deretter "Module". Dette legger "Module2" til listen over modulene i "Project Explorer" panel. Dobbeltklikk på "Module2", og skriv deretter inn følgende kode inn i editoren.

Public Sub CopyF (ByVal sFol As String, ByVal dFol As String)

c = Len (sFol) - Len (Skift (sFol, "\", "", 1))

fname = Mid (sFol, InStr (1, Application.Substitute (sFol, "\",

"", c), "") + 1)

dest = dFol & fname

Sett FSO = Create ( "Scripting.FileSystemObject")

Hvis ikke fso.FolderExists (for destinasjons) og deretter

fso.CopyFolder sFol, dFol

Ellers

uRes = MsgBox(dest & " already exists. Overwrite?", vbYesNo + vbQuestion)

Hvis uRes = vbYes Then

fso.CopyFolder sFol, dFol

Ellers

GoTo EndScript

Slutt om

Slutt om

EndScript:

Sett FSO = Nothing

End Sub

7 Trykk "F12". Skriv inn ønsket filnavn i "File name" boksen, og klikk deretter på rullegardinmenyen ved siden av "Lagre som type." Velg "Excel Makroaktivert Workbook" (hvis du bruker Excel) eller "Word Macro-Enabled dokument" (hvis du bruker Word). Klikk på "Lagre".

8 Trykk "Alt" og "Q" for å lukke VBE.

9 Trykk "Alt" og "F8" for å åpne "Makroer" -vinduet. Velg "CopyFolders" fra listen, og klikk deretter på "Kjør".

Hint

  • Som standard makroer er deaktivert for Microsoft Office-programmer som kan hindre deg fra å lage og gjennomføre eventuelle VBA rutiner. For å aktivere dem, klikker du Microsoft Office-knappen, og trykk deretter "I." På "Popular" velger "Show Utvikler fanen på båndet." Gå til "Trust Center" og deretter på "Innstillinger for klareringssenter." Klikk på "Makroinnstillinger" og velg deretter «Aktiver alle makroer." Klikk på "OK" for å lagre endringene og starte Office-programmet du bruker.