Använda dialogrutan för att öppna och spara arbetsboken

Innehållsförteckning:

Anonim

Vi vet redan hur man öppnar eller sparar en Excel -fil i VBA. Vi använder helt enkelt metoden Open and SaveAs för Workbook -objekt. Men det kräver hårdkodning av filens sökväg. Men oftast vill du att slutanvändaren ska välja en fil med hjälp av GUI eller säga dialogrutan Öppna eller spara som låter användaren välja plats för filen visuellt och enkelt.

I den här artikeln täcker vi koden som används för att visa arbetsbokens öppna dialogruta och spara som dialogruta.

Jag har bifogat en arbetsbok som du kan ladda ner. Arbetsboken som bifogas denna artikel innehåller tre makron

VBA -kod för att öppna filen med dialogrutan Öppen fil

I den här koden kommer vi att använda GetOpenFilename applikationsmetod. Syntaxen för metoden GetOpenFilename är:

Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])

[FileFilter]: Du kan definiera att endast en sorts fil ska visas i väljmappen. Om du skriver "Excel-filer, *.xlsx, *.xls, *.xlsm" etc. så visas bara excel-filer från mappen i dialogrutan för filöppning.

[FilterIndex]:Det är antalet filfilter du vill använda.

[Titel]: Dialogrutans titel.

[Knapp-text]:För att ange knapptexten. Inte viktigt.

[Flera val]: Det är en boolsk variabel. Om du anger den True eller 1 kommer du att kunna välja mer än en fil. Om du anger den falsk kan du bara välja en fil.

Nog med teorin. Låt oss göra några stavar.

VBA -kod för att öppna en fil i taget

Alternativ Explicit Sub OpenOneFile () Dim FileName As Variant 'Visar den öppna filen dialogrutan FileName = Application.GetOpenFilename ("Excel-filer,*. Xls", _ 1, "Välj en fil att öppna", falskt)' Användaren gjorde inte välj inte en fil Om TypeName (FileName) = "Boolean" Sedan avsluta Sub 'Öppna arbetsboken Workbooks.Open FileName End Sub 

Hur fungerar det?

När du kör det här segmentet av kod öppnar Metoden GetOpenFilename för applikationsobjektet en dialogruta med öppen fil. Titeln på dialogrutan kommer att vara "Välj en fil att öppna" som vi definierade i koden. Om du väljer en fil körs Worbook.Open -koden och filen öppnas. Om du inte väljer en fil kommer suben att avslutas utan att köra Workbook.Open -koden.

VBA -kod för att öppna en eller flera filer åt gången

Detta kodsegment öppnar dialogrutan för öppen fil, men du kommer att kunna välja mer än en fil åt gången.

Sub OpenMultipleFiles () Dim FileName As Variant, f As Integer 'Visar den öppna filen dialogrutan FileName = Application.GetOpenFilename ("Excel-filer,*. Xlsx", _ 1, "Select One or More Files To Open",, True ) 'Användaren valde inte en fil Om TypeName (FileName) = "Boolean" Sedan avsluta Sub' Öppna alla arbetsböcker som valts av användaren För f = 1 Till UBound (FileName) Workbooks.Open FileName (f) Nästa f Avsluta Sub 

Observera att här har vi ställt in multiselect -variabeln till True. Detta möjliggör flera val av filen.

VBA -kod för att öppna Spara som dialogruta

För att öppna en dialogruta Spara som använder vi metoden GetSaveAsFilename för applikationsobjektet. Syntaxen för metoden är:

Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])

[InitialFileName]:Det ursprungliga filnamnet. Om du inte byter namn på filen medan du sparar den sparas filen med detta namn.

[FileFilter]: Du kan definiera att endast en sorts fil ska visas i väljmappen. Om du skriver "Excel-filer, *.xlsx, *.xls, *.xlsm" etc. så visas bara excel-filer från mappen i dialogrutan för filöppning.

[FilterIndex]: Filindex för filen.

[Titel]:Dialogrutans titel.

[Knapp-text]:Detta används i Mac -systemet för att ändra namn på knappen.

Följ koden nedan

Sub SaveFile () Dim FileName As Variant 'Visar dialogrutan saveas FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Excel -filer,*. Xls", 1, "Välj din mapp och filnamn")' User didn ' t spara en fil Om TypeName (FileName) = "Boolean" Stäng sedan Sub 'Spara arbetsboken ActiveWorkbook.SaveAs FileName End Sub 

SaveFile Macro använder metoden GetSaveAsFilename för programobjekt för att öppna spara som dialogruta, tilldela filnamnet och välja plats för att spara arbetsboken.

Så ja killar, så här kan du använda dialogrutan för att öppna och spara filer med VBA. Jag hoppas att det var till hjälp. Om du har några tvivel angående denna artikel eller något annat VBA -ämne, fråga i kommentarfältet nedan.

Använd en sluten arbetsbok som en databas (DAO) med VBA i Microsoft Excel | Om du vill använda en sluten arbetsbok som en databas med DAO -anslutning använder du detta VBA -kodavsnitt i Excel.

Använd en sluten arbetsbok som en databas (ADO) med VBA i Microsoft Excel | Om du vill använda en sluten arbetsbok som en databas med ADO -anslutning använder du detta VBA -kodavsnitt i Excel.

Komma igång med Excel VBA UserForms | För att infoga data till databasen använder vi formulär. Excel UserForms är användbara för att få information från användaren. Så här bör du börja med VBA -användarformulär.

Ändra värde/innehåll för flera UserForm-kontroller med VBA i Excel | Använd detta enkla VBA -utdrag för att ändra innehållet i användarformskontrollerna.

Förhindra att en användarform stängs när användaren klickar på x-knappen med hjälp av VBA i Excel | För att förhindra att användarformen stängs när användaren klickar på x -knappen i formuläret använder vi UserForm_QueryClose -händelsen.

Populära artiklar:

50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.

VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.

COUNTIF i Excel 2016 | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifikt värde. Countif -funktionen är avgörande för att förbereda din instrumentpanel.

Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden