Avatar billede baadsager-e-box.dk Nybegynder
06. november 2002 - 16:19 Der er 10 kommentarer og
1 løsning

Gemme regnearkets filnavn

Hej

Hvis man gerne vil have hele stien på den workbook man arbejder med kan man i VBA skrive,
Min = ThisWorkbook.FullName.
Hvad hedder det hvis jeg kun ønsker at variablen skal indeholde filnavnet, så jeg senere kan bruge,
Workbooks(Min).Activate

På forhånd tak!!
06. november 2002 - 16:31 #1
ThisWorkbook.Name
06. november 2002 - 16:32 #2
eller ActiveWorkbook.Name
06. november 2002 - 16:35 #3
Du kan også gøre det på en anden måde.

Du kan diff. en varibel som workbook således: (ligesom jeg gjorde i forrige spørgsmål)

Sub EtEllerAndet()
    Dim wbActive As Workbook
    Set wbActive = ActiveWoorkbook  (eller ThisWorkbook)

senere kan du så henvise til f.eks. wbActive.Activate
Men det rigtig smarte ligger at lave kode uden Activate og Select.
Du kan således hoppe direkte i en celle f.eks. sådan: wbActive.Sheets("Ark1").Range("A1").Value
Avatar billede martin_moth Mester
06. november 2002 - 16:39 #4
Du kan jo også bare nappe den del af ThisWorkbook.FullName, der ligger til højre for sidste "\" - det vil være filnavnet..
(vha InStr() og Mid())
06. november 2002 - 16:40 #5
Sub GodtEksempel()
    Dim wbActive As Workbook
    Dim wksData As WorkSheet
    Dim rCell As Range
    ' Set dine object variabler = noget
    Set wbActive = ActiveWoorkbook
    Set wksData = wbActive.Sheets("Ark1")
    Set rCell = wksData.Range("A1")

    ' Udfør dine jobs
    ' Div kode

    ' Clean up i windows memory
    Set rCell = Nothing
    Set wksData = Nothing
    Set wbActive = Nothing
End Sub
06. november 2002 - 16:41 #6
Martin *ss* vil da være spild af kodelinier og værdifuld tid *ss*
Avatar billede bak Forsker
06. november 2002 - 16:45 #7
I princippet er jeg enig med flemming, men i dette tilfælde er der da ingen grund til at kode
ThisWorkbook.Activate må da være godt, da ThisWorkBook altid refererer til den Workbook der indeholder koden, der kører.
06. november 2002 - 16:51 #8
Du har i helt ret Bak, dog der er set eksempler på, hvor ThisWorkbook har givet fejl. Derfor gemmer jeg af læring altid ThisWorkbook i en variabel.
Avatar billede bak Forsker
06. november 2002 - 16:58 #9
Jaeh, Flemming, det kan måske ske hvis koden kalder en kode i et andet regneark.
Det må testes..... :-)
06. november 2002 - 17:01 #10
Kan ikke lige huske det - men løb på problematikken i foråret engang - hva' hulen var det jeg lavede dengang....*gg*
Avatar billede baadsager-e-box.dk Nybegynder
06. november 2002 - 17:02 #11
Jeg har Brugt Flemmings ActiveWorkbook.Name, og det virker som det skal. Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester