folj Mester
07. januar 2013 - 13:33 Der er 9 kommentarer og
2 løsninger

Short Path til en fil

Kan jeg med hjælp fra VBA gå ind og finde den aktuelle "ShortPath" til den fil jeg arbejder med?

Jeg forklarer lige hvad jeg mener med "ShortPath":
Bag de lange filnavne som windows kan håndtere, ligger der også et kort filnavn/sti som mange vil kunne huske fra DOS-styresystemet, eksempelvis "C\DOKUME~1\IM1FER~1\FERMEN~1\ALLEPL~1\RVARER~1\VITAMI~2.XLS"

Jeg har brug for at trække denne korte sti ind i et af mine parametre i VBA-koden. Jeg bruger normalt
ThisWorkbook.Path
til at trække den lange sti med,
men findes der noget tilsvarende hvor man kan tilgå den korte udgave?
RogerWilco Novice
07. januar 2013 - 19:33 #1
folj Mester
08. januar 2013 - 10:34 #2
Er der ikke en der kan hjælpe med funktionskaldet også, for jeg kan ikke få det til at spille... returnerer fejlen "User-defined type not defined"

mit funktionskald:

-----kode-----
Sub EnterShortPath()

Dim LongPath As String
LongPath = ThisWorkbook.FullName

Path = GetShortDosPath(LongPath)

MsgBox Path

End Sub
-----/kode-----
folj Mester
08. januar 2013 - 11:15 #3
Jeg skal måske lige præcisere at min funktion er som beskrevet under RogerWilco's link:

------kode-----
Function GetShortDosPath(sPath As String)
   
    Dim fso As Scripting.FileSystemObject
    Dim fsoFile As Scripting.file
   
    Set fso = New FileSystemObject
    Set fsoFile = fso.GetFile(sPath)
   
    GetShortDosPath = fsoFile.ShortPath
   
End Function
------/kode-----
folj Mester
08. januar 2013 - 11:26 #4
Kan se i min VBA-debugger at linien
Dim fso As Scripting.FileSystemObject
er markeret med blåt.

kan det ikke være den linie der fejler?
Når jeg skriver i hånden "Dim fso As " så vises der alle de muligheder man har, og der findes der ikke noget der hedder scripting...

Hvad gør jeg for at komme videre?
RogerWilco Novice
08. januar 2013 - 12:23 #5
Fra artiklen:
Don't forget to set a reference to Microsoft Scripting Library (Tools - References)

Nævnte menu er i VBA-editor, og jeg mener komponenten faktisk hedder: Microsoft Scripting Runtime.
folj Mester
08. januar 2013 - 13:04 #6
@RogerWilco. Ja jeg har set at det står, og det kan også godt være at det er problemet.

Jeg har bare ikke kunnet finde noget sted hvor dette kan tilvælges i den nye version af Excel (version 14.0), som vi benytter her i bixen.

Nogen der ved om det er standard i vers 14 eller skal det tilvælges ?
RogerWilco Novice
08. januar 2013 - 17:30 #7
I både Excel 2003 og 2007 (US version) hedder menuen det samme; Åbn VBA-editor og klik på menuen Tools og vælg References. I listen der kommer frem, sættes flueben i Microsoft Scripting Runtime. Jeg ved ikke, hvad nævnte menu hedder i den danske version, og om det er ændret i 2010.
folj Mester
10. januar 2013 - 09:28 #8
Menuerne i Excel 2010 (ver 14) er opbygget helt anderledes end de tidligere versioner.

Jeg måtte google lidt og fandt på http://www.mrexcel.com/forum/excel-questions/668134-excel-visual-basic-applications-microsoft-scripting-runtime-not-excel-2010-a.html at det skulle findes i VBE (Visual BasicEditorens) menu Tools > References.

Jeg lagde dette som et svar, men synes at du RogerWilco skal have del i points for delagtighed i at finde frem til svaret, så jeg vil bede dig om også at smide et svar.
RogerWilco Novice
10. januar 2013 - 17:49 #9
Jeg skrev da også (to gange, faktisk), at det var i VBA-editoren.  (c:
folj Mester
11. januar 2013 - 12:19 #10
Jeg kan lige tilføje, at efter jeg fik sat omtalte flueben i VBE (Visual BasicEditorens) menu Tools > References, så virker det hele.
Tak for indfalten til RogerWilco...
folj Mester
11. januar 2013 - 12:19 #11
indfalten = indsatsen ;)
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

Opret Preview

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





Computerworld
Jens Højgaard skrev negativ anmeldelse på Trustpilot - nu er han blevet sagsøgt for 11.419 kroner
En negativ anmeldelse på Trustpilot om et inkassofirma har indtil videre kostet den selvstændige hvidevare-reparatør Jens Høgni Højgaard flere tusinde kroner og en tur i retten. Forklaringen er, at inkassofirmaet har forbudt kunder at udtale sig negativt i offentlighed om selskabet.
CIO
Lille it-virksomhed med 18 ansatte: "Sådan vinder vi de offentlige udbudsopgaver"
Hvis man er lille og vågen, kan man sagtens hugge de udbudsopgaver, der tidligere gik til de store firmaer. På et enkelt år er der næsten sket en fordobling i antallet af virksomheder under 20 personer, som vinder udbudsopgaver. Her kan du møde en af dem.
Comon
Så nemt installerer du en "ren" Windows 10 uden crapware
De fleste nye computere kommer med præ-installerede programmer, der kan gøre din computer langsom. Læs her, hvordan du let installerer Windows 10 uden crapware.
Channelworld
Overblik: Det ved vi efter første retsmøde i den store Atea-bestikkelsessag
Den første sag om bestikkelse af offentlige ansatte kører i disse dage, hvor offentlige ansatte anklages for at have modtaget bestikkelse fra it-giganten Atea.
White paper
Tjekliste: 10 tegn på, at du har behov for at modernisere din Backup og Recovery løsning
Gennemgå denne tjekliste for at afgøre, om dit miljø har behov for en mere moderne tilgang til backup og recovery. Hvis ikke du kan tjekke nogen af disse af, kan det være tid til at revurdere din databeskyttelse strategi.