Forum » Programiranje » Iz Excela v .pdf z VBA ukazom
Iz Excela v .pdf z VBA ukazom
![](https://static.slo-tech.com/stili/avatar_gray.gif)
borzon ::
Pozdravljeni,
Potrebujem vašo pomoč pri mojem neznanju.
Ker sam nimam pojma kako to naredit se na vas obračam po pomoč.
Imam Sleet1 in sheet3. Na Sheet1 imam gumb. Rad bi, da ko kliknem na gumb, da bi se iz sheet3 v pdf shranile samo celice od A1:E20. Med samim potekom shranjevanja, naj bi program uprašal za lokacijo shranjevanja in ime novega pdf dokumenta.
A je mogoče požel že kaj takega?
Hvala za pomoč
Potrebujem vašo pomoč pri mojem neznanju.
Ker sam nimam pojma kako to naredit se na vas obračam po pomoč.
Imam Sleet1 in sheet3. Na Sheet1 imam gumb. Rad bi, da ko kliknem na gumb, da bi se iz sheet3 v pdf shranile samo celice od A1:E20. Med samim potekom shranjevanja, naj bi program uprašal za lokacijo shranjevanja in ime novega pdf dokumenta.
A je mogoče požel že kaj takega?
Hvala za pomoč
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kljuka13 ::
Predlagam, da za začetek posnameš makro, ki izvede opisano zaporedje dejanj. Makro pa lahko nato dodatno prilagodiš v VBA, tako da recimo dodaš okence za izbiro lokacije shranjevanja.
![](https://static.slo-tech.com/stili/bel_non_grata.png)
korenje3 ::
Izrezek iz enega mojih programov.
Še file picker. vidim da je notri.
Select Case cellinfo(0) Case "PDF" btn.TextFrame.Characters.Text = "SAVE PDF (" & cellinfo(1) & ")" filename = Opt.FilePickerSave("PDF") If LenB(filename) > 0 Then Call RngTotal.ExportAsFixedFormat(Type:=xlTypePDF, filename:=filename) If LenB(pdfmaildata(1)) > 0 Then ActiveWorkbook.FollowHyperlink filename End If Case "PDFF" btn.TextFrame.Characters.Text = "SAVE PDF (" & cellinfo(1) & ")" Call RngTotal.ExportAsFixedFormat(Type:=xlTypePDF, filename:=IIf(LenB(pdfmaildata(0)) > 0, pdfmaildata(0), RngTotal.Parent.Parent.Path & "\" & Opt.GetFilenameExt(RngTotal.Parent.Parent.Name)(0) & ".PDF")) If LenB(pdfmaildata(1)) > 0 Then ActiveWorkbook.FollowHyperlink IIf(LenB(pdfmaildata(0)) > 0, pdfmaildata(0), RngTotal.Parent.Parent.Path & "\" & Opt.GetFilenameExt(RngTotal.Parent.Parent.Name)(0) & ".PDF") Case "XPS" btn.TextFrame.Characters.Text = "SAVE XPS (" & cellinfo(1) & ")" filename = Opt.FilePickerSave("XPS") If LenB(filename) > 0 Then Call RngTotal.ExportAsFixedFormat(Type:=xlTypeXPS, filename:=filename) If LenB(pdfmaildata(1)) > 0 Then ActiveWorkbook.FollowHyperlink filename End If Case "XPSF" btn.TextFrame.Characters.Text = "SAVE XPS (" & cellinfo(1) & ")" Call RngTotal.ExportAsFixedFormat(Type:=xlTypeXPS, filename:=IIf(LenB(pdfmaildata(0)) > 0, pdfmaildata(0), RngTotal.Parent.Parent.Path & "\" & Opt.GetFilenameExt(RngTotal.Parent.Parent.Name)(0) & ".XPS")) If LenB(pdfmaildata(1)) > 0 Then ActiveWorkbook.FollowHyperlink IIf(LenB(pdfmaildata(0)) > 0, pdfmaildata(0), RngTotal.Parent.Parent.Path & "\" & Opt.GetFilenameExt(RngTotal.Parent.Parent.Name)(0) & ".XPS") Case "P" btn.TextFrame.Characters.Text = "PRINT PREVIEW (" & cellinfo(1) & ")" Call RngTotal.PrintPreview Case "PF" btn.TextFrame.Characters.Text = "PRINT (" & cellinfo(1) & ")" Call RngTotal.PrintOut Case "M", "MF" btn.TextFrame.Characters.Text = "SEND E-MAIL (" & cellinfo(1) & ")" AWB.EnvelopeVisible = True With RngTotal.Parent.MailEnvelope '.Introduction = "XXX" With .item .To = pdfmaildata(0) '.CC = "" '.BCC = "" .Subject = pdfmaildata(1) On Error Resume Next For i = 1 To .attachments.Count .attachments.Remove 1 Next For i = 0 To UBound(attachments) If LenB(attachments(i)) > 0 Then .attachments.Add attachments(i) Next If cellinfo(0) = "MF" Then If Err.Number = 0 Then .Send End If End With End With End Select
Še file picker. vidim da je notri.
Public Function FilePickerSave(Optional ByVal FileType As String = vbNullString, Optional ByVal InitialFileName As String = vbNullString) With Application.FileDialog(MsoFileDialogType.msoFileDialogSaveAs) .AllowMultiSelect = False .ButtonName = "Save" .Title = "Save File" Dim i As Integer For i = 1 To .Filters.Count If InStr(UCase(.Filters.item(i).extensions), "*." & UCase(FileType)) > 0 Then .FilterIndex = i: Exit For Next If LenB(InitialFileName) = 0 Then .InitialFileName = bomfix.AWB.Path & "\" & GetFilenameExt(bomfix.AWB.Name)(0) & IIf(LenB(FileType) > 0, "." & FileType, vbNullString) Else .InitialFileName = InitialFileName End If .InitialView = msoFileDialogViewDetails Call .Show If (.SelectedItems.Count > 0) Then FilePickerSave = .SelectedItems(1) End If End With End Function
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Zgodovina sprememb…
- spremenil: korenje3 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | VBA vrednosti sheet-ov v nov excel fileOddelek: Programiranje | 673 (497) | DostMam |
» | Excel 2016 - kako z vlečenjem dol dobiti vrednosti istih celic iz več listovOddelek: Pomoč in nasveti | 492 (418) | jedateruk |
» | Pomoč ExcelOddelek: Programska oprema | 6410 (6097) | mk766321 |
» | excelOddelek: Programska oprema | 1799 (1700) | imagodei |
» | [VB] excel makro, VB program ali kaj drugegaOddelek: Programiranje | 2388 (2388) | Tutankhamun |