Forum » Programiranje » Iz Excela v .pdf z VBA ukazom
Iz Excela v .pdf z VBA ukazom
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č
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.

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 | 750 (574) | DostMam |
| » | Excel 2016 - kako z vlečenjem dol dobiti vrednosti istih celic iz več listovOddelek: Pomoč in nasveti | 566 (492) | jedateruk |
| » | Pomoč ExcelOddelek: Programska oprema | 6566 (6253) | mk766321 |
| » | excelOddelek: Programska oprema | 1883 (1784) | imagodei |
| » | [VB] excel makro, VB program ali kaj drugegaOddelek: Programiranje | 2464 (2464) | Tutankhamun |