Avatar billede joergensenmartin Juniormester
01. september 2012 - 17:46 Der er 9 kommentarer og
1 løsning

sti til skrivebord i makro

Hej ...... igen ;-)

Jeg har lavet en lille makro der gemmer det aktive ark som PDF på skrivebordet. Mit spørgsmål er så; hvad sker der når jeg bruger arket på en anden pc? Der er stien til skrivebordet jo ikke den samme. Kan man skrive det så det altid havner på skrivebordet, uanset hvilken computer man sidder ved?? Eller er jeg nød til at lægge det i roden af C: for at det altid havner det samme sted??

Sub gemsompdf()
'
' gemsompdf Makro
' Gemmer aktive ark som PDF
'

'
    ChDir "C:\Users\Martin\Desktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\Martin\Desktop\timeopgørelse.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
End Sub
Avatar billede supertekst Ekspert
01. september 2012 - 18:09 #1
Stien skal tilpasses efter den enkelte bruger.
Prøv at se på: Application.UserName
Avatar billede nyhuus Nybegynder
01. september 2012 - 18:16 #2
Hejsa

Jeg har lagt fra erfaring med emnet, men en google søgning gav mig dette resultat, som umilbart ser fornuftig ud

http://www.vbaexpress.com/kb/getarticle.php?kb_id=216

altså
---
Dim DTAddress As String
    DTAddress = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
---

burde gemme stien til dit skrivebord i variablen DTAddress
Avatar billede store-morten Ekspert
01. september 2012 - 18:54 #3
Alternativ:
Sub gemsompdfDialogBox()
ChDir "c:"
    Application.Dialogs(xlDialogSaveAs).Show _
    arg1:="timeopgørelse", arg2:=57
End Sub
Avatar billede store-morten Ekspert
01. september 2012 - 19:30 #4
#3
Kalder DialogBox.
Foreslår at gemme sammen sted som Excel filen er gemt.
Spørger om filen skal overskrives hvis den findes i forvejen.

Bruges #2 kunne den måske se sådan ud:
Sub gemsompdf()
'
' gemsompdf Makro
' Gemmer aktive ark som PDF
' Advarer ikke om overskrivning...

Dim DTAddress As String
    DTAddress = CreateObject("WScript.Shell").SpecialFolders("Desktop") _
    & Application.PathSeparator
 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        DTAddress & "timeopgørelse", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
Advarer ikke om overskrivning hvis den findes i forvejen.
Avatar billede joergensenmartin Juniormester
07. september 2012 - 13:33 #5
Virker efter hensigten..... gider Morten smide et svar :-)
Avatar billede store-morten Ekspert
07. september 2012 - 13:43 #6
Ja da....:-)
Hvilken version bruger du?
Avatar billede joergensenmartin Juniormester
07. september 2012 - 15:08 #7
Af office??? hjemme er det 2010 og på arbejde er det 2000 - lidt endnu. Vi bliver opgraderet inden nytår, men jeg ved ikke til hvad.
Det er ellers blevet godt det regneark du har hjulpet med :-) Det har givet meget bedre overblik over mine timer, ferie, ferie-fridag, afspadsering og syge dage. Jeg har lavet det for hele året + en samlet årsoversigt :-)
Avatar billede store-morten Ekspert
07. september 2012 - 15:55 #8
Nej, jeg mente nu:

Sub gemsompdfDialogBox() eller
Sub gemsompdf()

Velbekomme
Avatar billede joergensenmartin Juniormester
07. september 2012 - 16:26 #9
Selvfølgelig gjorde du det. Er sq ikke rigtig vågen i dag ;-)

Sub gemsompdf()

den virker tilsyneladende fint. Den virker så bare ikke i office 2000 så jeg har ikke haft mulighed for at teste den når vi logger på Novel, men det burde vel ikke gøre den store forskel??

Tænker lige om man kan få den til at navngive med "sheetname"+"date" "yyy" f.eks. november2012, så er det nemmere at finde styr på filerne

jeg bliver ved med at finde på noget nyt ;-)
Avatar billede store-morten Ekspert
07. september 2012 - 17:58 #10
Sub gemsompdf()
'
' gemsompdf Makro
' Gemmer aktive ark som PDF
' Advarer ikke om overskrivning...

Dim DTAddress As String
    DTAddress = CreateObject("WScript.Shell").SpecialFolders("Desktop") _
    & Application.PathSeparator
 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        DTAddress _
        & " " & "timeopgørelse" _
        & " " & ActiveSheet.Name _
        & " " & Date, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
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

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



Seneste spørgsmål Seneste aktivitet
22 min siden Prosomic 65 uand8009 Af Bassine i Fjernsyn & projektorer
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel