Hem Sociala medier Hur man använder GetOpenFilename Method i Excel 2016 VBA - dummies

Hur man använder GetOpenFilename Method i Excel 2016 VBA - dummies

Innehållsförteckning:

Video: HUR ANVÄNDER MAN?! 2024

Video: HUR ANVÄNDER MAN?! 2024
Anonim

Om din VBA-procedur behöver fråga användaren för ett filnamn, kan du använda InputBox-funktionen och låta Excel-användaren göra något att skriva. En inmatningslåda är vanligtvis inte det bästa verktyget för det här jobbet, eftersom de flesta användare har svårt att komma ihåg banor, backslashes, filnamn och filtillägg. Det är med andra ord alltför lätt att skruva upp när du skriver ett filnamn.

För en bättre lösning på det här problemet, använd GetOpenFilename-metoden i Applikationsobjektet, vilket säkerställer att din kod får händerna på ett giltigt filnamn, inklusive dess fullständiga sökväg. Metoden GetOpenFilename visar den välkända Öppna dialogrutan (en död ringer för dialogrutan Excel visas när du väljer Arkiv → Öppna → Bläddra).

Metoden GetOpenFilename öppnar inte den angivna filen. Denna metod returnerar helt enkelt det användardefinierade filnamnet som en sträng. Då kan du skriva kod för att göra vad du vill med filnamnet.

Syntaxen för GetOpenFilename-metoden

Den officiella syntaxen för GetOpenFilename-metoden är följande:

objekt. GetOpenFilename ([fileFilter], [filterIndex], [title], [buttonText], [multiSelect])

GetOpenFilename-metoden tar de valfria argumenten nedan.

Argument Vad det gör
FileFilter Bestämmer vilka typer av filer som visas i dialogrutan

(till exempel *. TXT). Du kan ange flera filter för användaren

att välja mellan.

FilterIndex Bestämmer vilken filfil som dialogrutan visar med

standard.

Titel Anger bildtexten i dialogrutans titel

.

ButtonText Ignorerad (används endast för Macintosh-versionen av Excel).
MultiSelect Om True kan användaren välja flera filer.

Ett exempel på GetOpenFilename

Argumentet FileFilter bestämmer vad som visas i dialogrutan Filer av typ-listrutan. Detta argument består av par filfilter strängar följt av wildcard fil filter specifikationen, med kommatecken som skiljer varje del och par. Om det utelämnas, gäller följande argument:

Alla filer (*. *), *. *

Observera att denna sträng består av två delar, åtskilda av ett kommatecken:

Alla filer (*. *)

och

*. *

Den första delen av den här strängen är texten som visas i rullgardinsmenyn Filer av typ. Den andra delen avgör vilka filer dialogrutan visar. Till exempel, *. * betyder alla filer.

Koden i följande exempel öppnar en dialogruta som frågar användaren för ett filnamn.Förfarandet definierar fem filfilter. Observera att VBA-line-fortsättningssekvensen används för att ställa in filtervariabeln. gör det här för att förenkla detta ganska komplicerade argument.

Sub GetImportFileName () Dim Finfo Som String Dim FilterIndex Så länge Dim Titel Som String Dim FileName Som variant "Ställ in lista över filfilter FInfo =" Textfiler (*. Txt), *. txt, "& _" Lotusfiler (*.prn), *. prn, "& _" kommaseparerade filer (*.csv), *. csv, "& _" ASCII-filer (*. asc), *. asc, "& _" Alla filer (*. *), *. * "" Display *. * som standard FilterIndex = 5 'Ange dialogrutans textning Titel = "Välj en fil att importera"' Hämta filnamnet FileName = Program. GetOpenFilename (FInfo, _ FilterIndex, Title) 'Hantera returinformation från dialogrutan Om FileName = False Then MsgBox "Ingen fil valdes. "Else MsgBox" Du har valt "& FileName End If End Sub

Här visas dialogrutan Excel när du utför den här proceduren. Utseendet kan variera beroende på vilken version av Windows du använder och de visningsalternativ du har ställt in.

Metoden GetOpen Filename visar en anpassningsbar dialogruta och returnerar den valda filens sökväg och namn. Det öppnar inte filen.

I en riktig applikation skulle du göra något mer meningsfullt med filnamnet. Du kan till exempel öppna den genom att använda ett uttalande som det här:

Arbetsböcker. Öppna filnamn

Observera att filenName-variabeln är deklarerad som en variantdatatyp. Om användaren klickar på Avbryt innehåller variabeln ett booleskt värde (False). Annars är FileName en sträng. Därför hanterar datatypen med en variant båda möjligheterna.

Hur man använder GetOpenFilename Method i Excel 2016 VBA - dummies

Redaktörens val

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

I Photoshop Element, Redigera Snabbt läge är en uppskattad version av Redigera fullt läge som ger grundläggande fixverktyg tillsammans med några unika funktioner, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Redigera snabbläge för att reparera dina foton: Välj ett eller flera foton i ...

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Snabb Fotoredigering är en uppskattad version av Full Photo Edit-läge som bekvämt ger grundläggande fixeringsverktyg och kastar i några unika egenskaper, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Quick Photo Edit-läget för att reparera dina foton:

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Fotoeffekter i Photoshop Elements 11 fungerar som applicera filter; medan dialogrutan Filtreringsgalleri ger dig många alternativ för att tillämpa ett filter, ger den guidade panelen dig filtereffekter och tar dig genom steg för att justera ljusstyrka, ändra färgton och mättnad och göra andra justeringar för att perfekta resultatet. Du ...

Redaktörens val

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

När du granskar en bild, bestämmer du om det är en målvakt. Om du tittar på en bild på din Canon EOS 7D Mark II, gillar du inte bilden av någon anledning kan du radera det. Men borttagning av bilder måste ske med stor försiktighet eftersom uppgiften inte kan ångras. När du har raderat en ...

Hur man redigerar filmer på en Canon EOS 60D - dummies

Hur man redigerar filmer på en Canon EOS 60D - dummies

60D Edit-funktionen gör det härligt enkelt för att ta bort oönskade delar från början eller slutet av en film direkt på din kamera. Denna ombordredigering är praktisk men grundläggande, så förvänta dig inte mirakel. Här är de enkla stegen för att trimma början eller slutet på en film: Klicka på ikonen Redigera (det ser ut ...

Redaktörens val

Hur man arbetar med text i ett Word 2010-tabell - dummies

Hur man arbetar med text i ett Word 2010-tabell - dummies

Text hinner i ett bord i Word 2010 på en cell-vid-cell basis. Varje cell i ett Word-bord kan ha ett eget styckeformat och en egen uppsättning flikar. Grupper av celler, rader och kolumner och hela tabellen kan väljas och formateras samtidigt, om du vill. All standardtext ...

Hur man arbetar med Word 2010: s decimala flik - dummies

Hur man arbetar med Word 2010: s decimala flik - dummies

Du kan använda decimalfliken i Word 2010 till rad upp kolumner av siffror. Även om du kan använda en rätt flik för att göra detta jobb är decimalfliken ett bättre val. I stället för högerjusterad text, som den högra fliken gör, justerar decimalfliken siffror efter deras decimaldel - perioden i ...

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

O saker Word 2010 kan göra med dokument! Du kan öppna flera Word-dokument samtidigt och arbeta på mycket av dem, växla mellan de olika öppna dokumenten. Öppnar flera Word-dokument samtidigt Det är inte en fråga om hur Word kan fungera på mer än ett dokument åt gången. Nej, ...