Hur man använder metoden GetOpenFilename i Excel 2016 VBA

Om din VBA förfarande måste be användaren om ett filnamn, du kan använda InputBox funktionen och låta Excel användaren göra en del skriva. En inmatningsruta ä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 sökvägar, omvända snedstreck, filnamn och filtillägg. Det är med andra ord alldeles för lätt att skruva ihop när man skriver ett filnamn.

För en bättre lösning på detta problem, använd metoden GetOpenFilename för Application-objektet, som säkerställer att din kod får tag i ett giltigt filnamn, inklusive dess fullständiga sökväg. Metoden GetOpenFilename visar den välbekanta dialogrutan Öppna (en död ringsignal för dialogrutan Excel visas när du väljer Arkiv → Öppna → Bläddra).

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

Syntaxen för metoden GetOpenFilename

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

object.GetOpenFilename ([filFilter], [filterIndex],
  [titel],[buttonText], [multiSelect])

GetOpenFilename-metoden tar de valfria argumenten nedan.

Argument Vad den gör
Filfilter 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 vilka av filfiltren som dialogrutan visar som
standard.
Titel Anger bildtexten för dialogrutans
namnlist.
Knapp-text Ignoreras (används endast för Macintosh-versionen av Excel).
Flera val Om det är sant kan användaren välja flera filer.

Ett exempel på GetOpenFilename

Argumentet fileFilter avgör vad som visas i dialogrutans rullgardinslista Filer av typ. Detta argument består av par av filfiltersträngar följt av filfilterspecifikationen med jokertecken, med kommatecken som separerar varje del och par. Om det utelämnas har detta argument som standard följande:

Alla filer (*.*), *.*

Observera att den här strängen består av två delar, åtskilda av ett kommatecken:

Alla filer (*.*)

och

*.*

Den första delen av denna sträng är texten som visas i rullgardinsmenyn Filtyper. Den andra delen avgör vilka filer dialogrutan visar. Till exempel betyder *.* alla filer.

Koden i följande exempel öppnar en dialogruta som ber användaren om ett filnamn. Proceduren definierar fem filfilter. Observera att VBA-linjefortsättningssekvensen används för att ställa in filtervariabeln; att göra det hjälper till att förenkla detta ganska komplicerade argument.

Sub GetImportFileName ()
  Dim Finfo Som String
  Dim FilterIndex As Long
  Dim titel som sträng
  Dim filnamn som variant
' Ställ in en lista över filfilter
  FIinfo = "Textfiler (*.txt),*.txt," & _
      "Lotus-filer (*.prn),*.prn," & _
      "Kommaseparerade filer (*.csv),*.csv," & _
      "ASCII-filer (*.asc),*.asc," & _
      "Alla filer (*.*),*.*"
' Visa *.* som standard
  FilterIndex = 5
' Ställ in dialogrutans rubrik
  Titel = "Välj en fil att importera"
'Hämta filnamnet
  Filnamn = Application.GetOpenFilename (FIinfo, _
    FilterIndex, Titel)
' Hantera returinformation från dialogrutan
  Om filnamn = Falskt då
    MsgBox "Ingen fil har valts."
  Annan
    MsgBox "Du valde " & filnamn
  Avsluta om
Avsluta Sub

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

Hur man använder metoden GetOpenFilename i Excel 2016 VBA

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

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

Arbetsböcker. Öppna filnamn

Observera att filnamnsvariabeln deklareras som en variantdatatyp. Om användaren klickar på Avbryt innehåller variabeln ett booleskt värde (False). Annars är filnamn en sträng. Användning av en variantdatatyp hanterar därför båda möjligheterna.


Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows Microsoft Word öppnar filer i skrivskyddat läge, vilket gör det omöjligt att redigera dem? Oroa dig inte, metoderna finns nedan

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Så här åtgärdar du fel vid utskrift av felaktiga Microsoft Word-dokument Fel vid utskrift av Word-dokument med ändrade teckensnitt, röriga stycken, saknad text eller förlorat innehåll är ganska vanligt. Men gör det inte

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Om du har använt pennan eller överstrykningspennan för att rita på dina PowerPoint-bilder under en presentation, kan du spara ritningarna till nästa presentation eller radera dem så att nästa gång du visar den börjar du med rena PowerPoint-bilder. Följ dessa instruktioner för att radera ritningar med penna och överstrykningspenna: Radera linjer ett på […]

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteket innehåller CSS-filer, XSL-filer (Extensible Stylesheet Language) och bilder som används av fördefinierade mallsidor, sidlayouter och kontroller i SharePoint 2010. För att hitta CSS-filer i stilbiblioteket på en publiceringswebbplats: Välj Webbplatsåtgärder→Visa Allt webbplatsinnehåll. Innehållet på webbplatsen visas. Style-biblioteket ligger i […]

Formatera siffror i tusentals och miljoner i Excel-rapporter

Formatera siffror i tusentals och miljoner i Excel-rapporter

Överväldiga inte din publik med gigantiska siffror. I Microsoft Excel kan du förbättra läsbarheten för dina instrumentpaneler och rapporter genom att formatera dina siffror så att de visas i tusentals eller miljoner.

Hur man delar och följer SharePoint-webbplatser

Hur man delar och följer SharePoint-webbplatser

Lär dig hur du använder SharePoints sociala nätverksverktyg som låter individer och grupper kommunicera, samarbeta, dela och ansluta.

Hur man konverterar datum till Julian-format i Excel

Hur man konverterar datum till Julian-format i Excel

Julianska datum används ofta i tillverkningsmiljöer som en tidsstämpel och snabbreferens för ett batchnummer. Denna typ av datumkodning tillåter återförsäljare, konsumenter och serviceagenter att identifiera när en produkt tillverkades och därmed produktens ålder. Julianska datum används också i programmering, militären och astronomi. Annorlunda […]

Hur man skapar en Access Web App

Hur man skapar en Access Web App

Du kan skapa en webbapp i Access 2016. Så vad är en webbapp egentligen? Tja, webben betyder att den är online, och appen är bara en förkortning för "applikation". En anpassad webbapp är en onlinedatabasapplikation som nås från molnet med en webbläsare. Du bygger och underhåller webbappen i skrivbordsversionen […]

Snabbstartsfält i SharePoint 2010

Snabbstartsfält i SharePoint 2010

De flesta sidor i SharePoint 2010 visar en lista med navigeringslänkar i snabbstartsfältet till vänster på sidan. Snabbstartsfältet visar länkar till utvalt webbplatsinnehåll som listor, bibliotek, webbplatser och publiceringssidor. Snabbstartsfältet innehåller två mycket viktiga länkar: Länken Allt webbplatsinnehåll: […]

Vad betyder lösarens felmeddelanden i Excel?

Vad betyder lösarens felmeddelanden i Excel?

För enkla problem hittar Solver i Excel vanligtvis snabbt de optimala Solver-variabelvärdena för objektivfunktionen. Men i vissa fall har Solver problem med att hitta Solver-variabelvärdena som optimerar objektivfunktionen. I dessa fall visar Solver vanligtvis ett meddelande eller ett felmeddelande som beskriver eller diskuterar problemet som […]