PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAHämta värde och spara PDFHämta värde och spara PDF
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-03-01 09:50
 

 Hej!

Jag försöker att skapa ett makro som ska ta mina värdern och multiplicera med ett belopp som finns på en annan Excel-fil sparad lokalt på datorn. Därefter göra om den till PDF och spara ner den lokalt med ett specifik namn, t.ex "Revision1". Sen ska den även spara ned Excel-filen med samma namn som PDF:en i samma mapp på datorn.

Det är egentligen 2 saker jag fastnar på. Jag vill kunna använda detta makro på alla mina Excel-filer, men när jag multiplicerar söker den alltid efter namnet på huvudexcelfilen som jag har öppen (inte den lokala på datorn, den har alltid samma namn). Eftersom namnet på huvuddokumentet alltid är olika ställer det till det, man borde kunna skriva kod att den använder den aktuella Excel-dokumentet.

Problem 2 är att jag inte lyckas spara ned dokumenten med korrekt namn. Den vill att jag själv ska ange vad PDF/Excel filen ska heta.

Någon vänlig som kan hjälpa med detta?
Stort tack

/Håkan

Nytt inlägg
 2019-03-01 10:34
 
Hej hej

Det blir lite enklare att hjälpa dig om du visar din befintliga kod. Men kan ge dig lite tips på vägen.

'Denna rad skapar en variabel som heter wb. Till denna kan olika arbetsböcker tillägnas, dock bara en åt gången.
Dim wb as workbook

Denna rad berättar vilken arbetsbok som wb ska vara och öppnar filen. (filen måste vara öppen för att excel ska kunna hämta saker från den)
Lägg in din lokala fil här, exempelvis c:\loffe\minfil.xlsx
Set wb = workbooks.open("filnamn inklusive sökväg")

Tillägnar wb till arbetsboken som koden ligger i, undantaget om du har ditt makro i personal.xlsb, isåfall pekar thisworkbook på den arbesbok som du kör makrot från.
Set wb = thisworkbook

Tillägnar wb till den aktiva arbetsboken:
set wb = activeworkbook

Öppnar en liten prompt där du kan skriva ett filnamn
Dim SaveFileName As String
SaveFileName = InputBox("Write your File name")

'Skriver ut blad1 som pdf med filnamnet som du fyllt i prompten
wb.Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=SaveFileName

'Sparar excelfilen tillägnad som wb
wb.SaveAs Filename:=SaveFileName
'Stänger excelfilen
wb.Close savechanges:=False

Hoppas detta hjälper dig lite.
Mvh
Christian

Nytt inlägg
 2019-03-01 11:45
 

 Tack för ditt svar! Det är egentligen inga konstiga saker. Jag har bara spelat in ett makro och får då fram kod:

 
    Range("F4").Select
    ActiveCell.FormulaR1C1 = _
        "=RC[-1]*'[Namnetpåexcelatthämtavärde.xlsx]Blad1'!R4C12"
    Range("F5").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ChDir "\\mindator\mapp\test"
    ActiveWorkbook.SaveAs Filename:= _
        "\\mindator\mapp\testexcel.xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
 
Men som sagt jag vill få den att automatiskt spara ned PDF:en med namnet "Revision1" och Excelen men samma namn. 
Nytt inlägg
 2019-03-01 12:53
 
Hej igen.

Nedan hittar du en metod för att skriva pdf på hela arbetsboken, samt på det aktiva bladet, välj den som passar dig bäst.
Från din gamla kod behöver du bara spara nedan rad, den ska ligga först i din kod.:
ActiveCell.FormulaR1C1 = _
"=RC[-1]*'[Namnetpåexcelatthämtavärde.xlsx]Blad1'!R4C12"

'Här skriver du vad din arbetsbok ska heta ("Revision1") och i vilken folder den ska sparas i. ("c:\revision\")
Dim myfilename as string: myfilename = "Revision1"
Dim mypath as string: mypath = "c:\revision\"
Dim str as string: str = mypath & myfilename

*skriver hela din arbetsbok som pdf
thisworkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=str

'Skriver ut det aktiva bladet som pdf
activesheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=str

Sparar din arbetsbok med namnet revision1
thisworkbook.saveas filename:=str

Mvh
Christian

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAHämta värde och spara PDFHämta värde och spara PDF

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter