❶ 如何利用excel VBA生成pdf文件
❷ 如何利用VBA將一個Excel中的每一個工作表都保存為一個PDF文件,文件名為工作表的名字
1、在需要單獨保存的工作表上右鍵,彈出菜單選擇移動或復制工作表
2、在第一個里選擇新工作薄然後確定
3、然後會出現新的excel文件,接著保存下來
然後每個文件做成PDF文件
推薦下面免費的方法轉成PDF試試:
方法一:使用虛擬列印機pdf factory即可,而且其他格式文件只要是能夠列印,選擇這個虛擬列印機,都可以做成PDF文件,很簡單實用;最簡單而且實用的使用虛擬列印機pdf factory即可,可以把任意只要能夠列印的格式文件都可以做成PDF文件,並且可以把多個文件通過列印之後合成一個PDF文件。
pdfFactory Pro(虛擬列印機)是一個無須 Acrobat 創建 Adobe PDF 文件的列印機驅動程序。pdfFactory Pro(虛擬列印機)提供的創建 PDF 文件的方法比其他方法更方便和高效。 功能包括: 多個文檔整合到一個 PDF 文件中; 內嵌字體; 通過 E-mail 發送; 預覽; 自動壓縮優化。
PDF Factory是pdf虛擬列印機軟體,下載安裝好PDF Factory後,我們在列印機控制面板中就可以找到一台由pdf Factory虛擬出來的列印機,可以把任何可以列印的文件轉換成pdf文件。用任何可以支持列印輸出的軟體,把需要處理的文件逐個列印到這個虛擬列印機,全部列印完成後可把結果保存成一個pdf文件。甚至可以把不同軟體格式的文件,如word、excel、photoshop等任何可以支持列印的文件,列印到同一個pdf文件。
在列印之前,在PDF Factory Pro裡面設置一下PDF的打開、列印等許可權即可實現加密等目的;
在列印之前,在設置裡面,就把載入所有的系統字體選中。
在列印界面出來後,可以在左側設置水印。然後再保存PDF文件。
列印完畢後,下載一個Adobe Reader,然後安裝,可以很流暢的閱讀PDF文件。
方法二:使用專門的轉換軟體,把文件轉成PDF文件;
方法三:用其他虛擬列印機轉成PDF文件。
方法四:用WPS本身自帶的轉換功能轉成PDF文件。
方法五:其他例如在線轉換的方法等;
❸ VBA 或 python 如何批量將JPG文件轉PDF
# -*- coding:utf-8 -*-
#!/usr/bin/env python
import os
from reportlab.lib.pagesizes import A4, landscape
from reportlab.pdfgen import canvas
from tkinter import *
import time
# 圖片文件名稱列表
IMAGEFILES = []
class pdfTk(object):
def __init__(self):
'''用於生成主界面用於填寫'''
self.top = Tk()
self.sw = self.top.winfo_screenwidth()
self.sh = self.top.winfo_screenheight()
self.topw = 500
self.toph = 200
self.top.title('圖片轉pdf生成器')
self.top.geometry("%dx%d+%d+%d" % (self.topw, self.toph, (self.sw - self.topw) / 2, (self.sh - self.toph) / 2))
self._DIRPATH = StringVar(self.top)
self.emptfmone = Frame(self.top, height=50)
self.emptfmone.pack()
self.dirfm = Frame(self.top)
self.descriptLabel = Label(self.dirfm, width=4, text='路徑:')
self.descriptLabel.pack(side=LEFT)
self.dirn = Entry(self.dirfm, width=50, textvariable=self._DIRPATH)
#self.dirn.bind('<Return>', self.setPath)
self.dirn.pack(side=LEFT)
self.dirfm.pack()
self.emptfmtwo = Frame(self.top, height=30)
self.emptfmtwo.pack()
self.btnfm = Frame(self.top)
self.converBtn = Button(self.btnfm, width=10, text='生成PDF', command=self.doneAnyThing,
activeforeground='white', activebackground='blue')
self.quitBtn = Button(self.btnfm, width=10, text='退出', command=self.top.quit, activeforeground='white',
activebackground='blue')
self.converBtn.pack(side=LEFT, padx=10)
self.quitBtn.pack(side=LEFT, padx=10)
self.btnfm.pack()
def doneAnyThing(self):
self.getListImages(self._DIRPATH.get())
pdfFile = self.converPath(self._DIRPATH.get()) + self.dateStr() + ".pdf"
self.convertpdf(pdfFile)
def convertpdf(self, pdfFile):
'''多個圖片合成一個pdf文件'''
(w, h) = landscape(A4) #
cv = canvas.Canvas(pdfFile, pagesize=landscape(A4))
for imagePath in IMAGEFILES:
cv.drawImage(imagePath, 0, 0, w, h)
cv.showPage()
cv.save()
def getListImages(self, dirPath):
'''讀取指定文件夾下所有的JPEG圖片,存入列表'''
if dirPath is None or len(dirPath) == 0:
raise ValueError('dirPath不能為空,該值為存放圖片的具體路徑文件夾!')
if os.path.isfile(dirPath):
raise ValueError('dirPath不能為具體文件,該值為存放圖片的具體路徑文件夾!')
if os.path.isdir(dirPath):
for imageName in os.listdir(dirPath):
if imageName.endswith('.jpg') or imageName.endswith('.jpeg'):
absPath = self.converPath(dirPath) + imageName
IMAGEFILES.append(absPath)
def converPath(self, dirPath):
'''用於轉換路徑,判斷路徑後是否為\\,如果有則直接輸出,如果沒有則添加'''
if dirPath is None or len(dirPath) == 0:
raise ValueError('dirPath不能為空!')
if os.path.isfile(dirPath):
raise ValueError('dirPath不能為具體文件,該值為文件夾路徑!')
if not str(dirPath).endswith("\\"):
return dirPath + "\\"
return dirPath
def dateStr(self):
'''用於生成指定格式的日期,目的是為了拼接字元串'''
return time.strftime("%Y-%m-%d", time.localtime())
def main():
'''該函數主要用於生成PDF文件'''
pdfTk()
mainloop()
if __name__ == '__main__':
'''主函數,進行啟動'''
main()