精华内容
下载资源
问答
  • VBA读取PDF页数

    2018-08-01 11:38:34
    在EXCEL中使用VBA读取PDF文件的总页数,大大减少重复工作量。
  • 需要传两个参数,word路径和pdf路径。 代码可以做成wsf文件,通过C语言或者java调用 <job id="wtop"> <reference guid="{00020905-0000-0000-C000-000000000046}" comment="MSWord 2000 tag library,under ...

    需要传两个参数,word路径和pdf路径。
    代码可以做成wsf文件,通过C语言或者java调用

    <job id="wtop">
    <reference guid="{00020905-0000-0000-C000-000000000046}" comment="MSWord 2000 tag library,under HKEY_CLASSES_ROOT\TypeLib\"/>
    <script language="VBScript">
    
    Option Explicit
    
    Dim Home_file 
    Dim outdoc_file 
    
    'If WScript.Arguments.Count < 2 Then
    '	MsgBox "Usage: t1 <Home_file> <outdoc_file> "
    '	WScript.Quit
    'End If
    
    Home_file = WScript.Arguments(0)
    outdoc_file = WScript.Arguments(1)
    
    Dim WordApp
    Set WordApp = CreateObject("Word.Application")
    
    With WordApp
    	.Visible = False '设置word为可见
    	With .Options
    		.CheckSpellingAsYouType = False '不检查拼写
    		.CheckGrammarAsYouType = False '不检查语法
    	End With
    	'打开模板文件
    	.Documents.Open(Home_file)
    	.Documents(1).Activate '激活文档
    	Dim doc
    	Set doc = .ActiveDocument '得到这个使用中的文件
    	
    	doc.ExportAsFixedFormat outdoc_file, 17, False, 0, 0, 1, 1, 0, True, True, 0, True, True, False
    
    	doc.Close False
    	With .Options
    		.CheckSpellingAsYouType = True
    		.CheckGrammarAsYouType = True
    	End With
    	.Quit
    	
    End With
    </script>
    </job>
    
    展开全文
  • 将该文件与需要转换的Excel文件放在同一个文件夹中,打开该文件,点击开始转换,稍等片刻即可完成转换
  • 有时候需要把大量的xlsx文件另存为其它格式,比如pdf、xls、csv,或者反向转换,可以用VBA批量处理。启动Excel,按下Alt+F11,打开Microsoft Visual Basic for Applications,点击 插入>模块,将下面的代码粘贴...

            有时候需要把大量的xlsx文件另存为其它格式,比如pdf、xls、csv,或者反向转换,可以用VBA批量处理。启动Excel,按下Alt+F11,打开Microsoft Visual Basic for Applications,点击 插入>模块,将下面的代码粘贴进去,然后按F5(某些笔记本电脑可能需要按Fn+F5),或者点击图中的绿色小三角形,便可以执行代码。代码中涉及到的路径要根据自己的实际情况进行修改。Replace的作用是修改后缀名,SaveAs的作用是“另存为”。

              Word的批量转换参见 https://blog.csdn.net/pijianzhirui/article/details/78668695
    PowerPoint的批量转换参见 https://blog.csdn.net/pijianzhirui/article/details/85936272

     还有一个名为Office Tool Plus(官网:https://otp.landian.vip/zh-cn/)的工具也可以进行批量格式转换。

    'xlsx转pdf
    Option Explicit
    Sub xlsxConverter()
    On Error Resume Next
    Dim sEveryFile As String,sSourcePath As String,sNewSavePath As String
    Dim CurXls As Object
    sSourcePath = "E:\XLSX文件\"  
    '假定待转换的xlsx文件全部在"E:\XLSX文件\"下,你需要按实际情况修改。
    sEveryFile = Dir(sSourcePath &"*.xlsx")
    Do While sEveryFile <> ""
       Set Curxls = Workbooks.Open(sSourcePath & sEveryFile, , msoTrue )
       sNewSavePath = VBA.Strings.Replace(sSourcePath & sEveryFile, ".xlsx", ".pdf")
       '转化后的文件也在"E:\xlsx文件\"下,当然你可以按需修改。
       CurXls.ExportAsFixedFormat xlTypePDF,sNewSavePath
       '更多格式可参见文末的截图ExportAsFixedFormat
       CurXls.Close SaveChanges:=False
       sEveryFile= Dir
    Loop
    Set CurXls = Nothing
    End Sub
    'xlsx转xls、csv
    Option Explicit
    Sub xlsxConverter()
    On Error Resume Next
    Dim sEveryFile As String,sSourcePath As String,sNewSavePath As String
    Dim CurXls As Object
    sSourcePath = "E:\XLSX文件\"  
    '假定待转换的xlsx文件全部在"E:\XLSX文件\"下,你需要按实际情况修改。
    sEveryFile = Dir(sSourcePath &"*.xlsx")
    Do While sEveryFile <> ""
       Set Curxls = Workbooks.Open(sSourcePath & sEveryFile, ,msoTrue)
       sNewSavePath = VBA.Strings.Replace(sSourcePath & sEveryFile, ".xlsx", ".xls")
       '如果想导出csv,就把第12行行尾的xls换成csv
       '如果想把xls转为xlsx,把第9行的xlsx改为xls,把第12行行尾的".xlsx", ".xls"改为".xls", ".xlsx"
       '转化后的文件也在"E:\xlsx文件\"下,当然你可以按需修改。
       CurXls.SaveAs sNewSavePath, xlExcel8
       'xls对应xlExcel8,csv对应xlCSV,xlsx对应xlWorkbookDefault
       '更多格式可参见文末的截图XlFileFormat Enumeration (Excel)
       CurXls.Close SaveChanges:=False
       sEveryFile= Dir
    Loop
    Set CurXls = Nothing
    End Sub

     

    展开全文
  • VBA实现PDF批量Word

    千次阅读 2020-07-07 16:05:16
    平常工作中涉及到需要将PDF转成WORD格式方便后续的数据处理。使用VBA可以很容易实现。 实现的过程如下: 1.设计一个文件包,如下所示意。 2.使用WORD作为实现的操作界面,这个可以根据实际的需要进行设计。 3.实现...

    平常工作中涉及到需要将PDF转成WORD格式方便后续的数据处理。使用VBA可以很容易实现。
    实现的过程如下:
    1.设计一个文件包,如下所示意。
    在这里插入图片描述
    2.使用WORD作为实现的操作界面,这个可以根据实际的需要进行设计。
    在这里插入图片描述
    3.实现的代码如下:
    在这里插入图片描述
    4.实现后的效果:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • SolidWorks 工程图 转PDF的宏(VBA 代码)

    千次阅读 2020-01-04 21:23:01
    '当前SolidWorks工程图文件转PDF,可含多页的工程图 ' ------------------------------------------------------------------------------ '**************************************** '---此模块演示一个可以延时...
    'CADHERO.COM
    'INSPIRED BY SW API SAMPLE SNIPPETS & WRITTEN BY AMEN JLILI
    'AMEN@CADHERO.COM
    
    ' Updated by Deepak Gupta (Boxer's SOLIDWORKS Blog, India) http://gupta9665.com/
    
    ' Please back up your data before use and USE AT OWN RISK
    
    ' This macro is provided as is.  No claims, support, refund, safety net, or
    ' warranties are expressed or implied.  By using this macro and/or its code in
    ' any way whatsoever, the user and any entities which the user represents,
    ' agree to hold the authors free of any and all liability.  Free distribution
    ' and use of this code in other free works is welcome.  If any portion of
    ' this code is used in other works, credit to the authors must be placed in
    ' that work within a user viewable location (e.g., macro header).  All other
    ' forms of distribution (i.e., not free, fee for delivery, etc) are prohibited
    ' without the expressed written consent by the authors.  Use at your own risk!
    '当前SolidWorks工程图文件转PDF,可含多页的工程图
    ' ------------------------------------------------------------------------------
    '****************************************
    '---此模块演示一个可以延时关闭的消息框---API函数 未公开的
    '****************************************
    #If Win64 Then '64位
        Private Declare PtrSafe Function MsgBoxTimeout _
            Lib "user32" _
            Alias "MessageBoxTimeoutA" ( _
                ByVal hWnd As LongPtr, _
                ByVal lpText As String, _
                ByVal lpCaption As String, _
                ByVal wType As VbMsgBoxStyle, _
                ByVal wlange As Long, _
                ByVal dwTimeout As Long) _
        As Long
    #Else
        Private Declare Function MsgBoxTimeout _
            Lib "user32" _
            Alias "MessageBoxTimeoutA" ( _
                ByVal hwnd As Long, _
                ByVal lpText As String, _
                ByVal lpCaption As String, _
                ByVal wType As VbMsgBoxStyle, _
                ByVal wlange As Long, _
                ByVal dwTimeout As Long) _
        As Long
    #End If
    
    'ShellExecute API函数
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" _
      Alias "ShellExecuteA" (ByVal hWnd As Long, _
      ByVal lpOperation As String, ByVal lpFile As String, _
      ByVal lpParameters As String, ByVal lpDirectory As String, _
      ByVal nShowCmd As Long) As Long
    
      
    Option Explicit
      
        Dim swApp               As SldWorks.SldWorks
        Dim swModel             As SldWorks.ModelDoc2
        Dim swModelDocExt       As SldWorks.ModelDocExtension
        Dim swExportPDFData     As SldWorks.ExportPdfData
        Dim boolstatus          As Boolean
        Dim filename            As String
        Dim lErrors             As Long
        Dim lWarnings           As Long
        Dim strSheetName()     As String
        Dim varSheetName        As Variant
        Dim swSheet             As SldWorks.Sheet
        Dim value               As String
        Dim resolvedValOut      As String
        Dim swView              As SldWorks.View
        Dim swPart              As SldWorks.ModelDoc2
        Dim swCustProp          As CustomPropertyManager
        Dim nSheet              As Variant
        Dim pdfFileName         As String   'pdf文件名
        Dim swFrame As Object
        Dim ProgressBar As Object '进度条
    Sub main()
      
        Set swApp = Application.SldWorks
      
        Set swModel = swApp.ActiveDoc
        If swModel Is Nothing Then
        MsgBox "无活动文档,请打开一个SW文件!", vbExclamation
        
        Exit Sub '退出Sub
        End If
        
        If swModel.GetType <> SwConst.swDocumentTypes_e.swDocDRAWING Then
        MsgBox ("当前活动文档不是2D工程图文件!")
        Exit Sub
        End If
        
        Set swFrame = swApp.Frame
        swApp.GetUserProgressBar ProgressBar '进度条
        
        filename = swModel.GetPathName
        
        If swModel.GetPathName = "" Then
         MsgBox ("请先保存文件!")
        Exit Sub
        End If
        
        Set swModelDocExt = swModel.Extension
        Set swExportPDFData = swApp.GetExportFileData(1)
        
                   
        ReDim strSheetName(0)
        For Each nSheet In swModel.GetSheetNames
                strSheetName(UBound(strSheetName)) = nSheet
                ReDim Preserve strSheetName(UBound(strSheetName) + 1)
        Next nSheet
        
        varSheetName = strSheetName
        
        
        Set swSheet = swModel.GetCurrentSheet
        Set swView = swModel.GetFirstView
        Set swView = swView.GetNextView
        Set swPart = swView.ReferencedDocument
        Set swCustProp = swPart.Extension.CustomPropertyManager("")
        swCustProp.Get2 "H.B. Carbide Part#", value, resolvedValOut ' change property name here
                
        Dim fso As Scripting.FileSystemObject
        Set fso = New Scripting.FileSystemObject
               
        pdfFileName = Left$(filename, InStrRev(filename, ".") - 1) + ".PDF"
           
        If fso.FileExists(pdfFileName) Then
        
         Dim xRet1 As Long
        xRet1 = MsgBoxTimeout(0, "是否覆盖文件 " & pdfFileName, "覆盖文件 (5秒后自动覆盖)", vbYesNo + vbExclamation, 1, 5000)
        Select Case xRet1
        Case 32000
            Debug.Print "超时自动关闭"
            
        Case vbYes
          
            Debug.Print "选择""是""按钮"
        Case vbNo
            Debug.Print "选择""否""按钮"
            Exit Sub '退出
        End Select
       
       
        End If
              
        If swExportPDFData Is Nothing Then MsgBox "swExportPDFData Nothing"
        boolstatus = swExportPDFData.SetSheets(swExportData_ExportSpecifiedSheets, varSheetName)
        swExportPDFData.ViewPdfAfterSaving = False
        
        ProgressBar.Start 0, 100, "正在保存文件..."
        ProgressBar.UpdateProgress (50)
        boolstatus = swModelDocExt.SaveAs(pdfFileName, 0, 0, swExportPDFData, lErrors, lWarnings)
        'MsgBox pdfFileName
        ProgressBar.UpdateProgress (100)
        swFrame.SetStatusBarText ("另存为PDF文件OK:" & pdfFileName)
        Dim Result As Long
        
        
        
         Dim xRet2 As Long
        xRet2 = MsgBoxTimeout(0, "另存为PDF OK, 是否现在打开" & pdfFileName, "是否打开PDF (5秒后自动打开PDF)", vbYesNo + vbQuestion, 1, 5000)
        Select Case xRet2
        Case 32000
            Debug.Print "超时自动关闭"
            Result = ShellExecute(0&, vbNullString, pdfFileName, _
            vbNullString, vbNullString, vbNormalFocus)
            If Result < 32 Then MsgBox "Error 打开文件失败"
        Case vbYes
            Result = ShellExecute(0&, vbNullString, pdfFileName, _
            vbNullString, vbNullString, vbNormalFocus)
        If Result < 32 Then MsgBox "Error 打开文件失败"
        
        Case vbNo
            Debug.Print "选择""否""按钮"
        End Select
        
        ProgressBar.End
    End Sub
    

     

    展开全文
  • 有时候需要把大量的docx文件另存为其它格式,比如pdf、doc、rtf、txt,或者反向转换,可以用VBA批量处理。启动word,按下Alt+F11,打开Microsoft Visual Basic for Applications,点击 插入>模块,将下面的代码...
  • EXCEL VBA PDF 文件

    2015-05-26 08:35:35
    EXCEL VBA PDF 1.使用CreateObject("Wscript.Shell").Run("pdf文件路径") 2.可以使用foxit Activex 或者 adobe 的activex workbookS.open("PDF的路径")
  • vba批量转换PDF.bas

    2021-05-12 11:41:46
    office利用vba批量转换生成pdf
  • CATIA图纸批量转PDFVBA宏,点击宏命令后会弹出选择文件夹对话框,选择文件夹后会自动将里面所有的CATIA图纸批量PDF图纸,文件是TXT文件,将里面的代码复制到宏里面即可执行
  • Vba Pdf转JPEG

    千次阅读 2019-09-23 13:54:03
    PDF转JPEG Coding,也可转其他格式文件: 首先需要在VBA下勾选"Adobe Acrobat"(根据自己Acrobat版本) 直接上CODE: Option Explicit Option Private Module Sub ExportAllPDFs() Dim StrFile As String ...
  • VBA 实现批量word pdf

    2021-05-31 17:29:01
    新建vba文件 copy以下代码 执行 OK Option Explicit Sub docx2other() On Error Resume Next Dim sEveryFile As String, sSourcePath As String, sNewSavePath As String Dim CurDoc As Object sSourcePath = "C:\...
  • VBA打开PDF文件

    2021-10-12 11:14:43
    Shell "RUNDLL32.EXE URL.DLL,FileProtocolHandler " & myfile, vbMaximizedFocus ' myfile是PDF文件完整路径
  • vba 实现Word文档的批量转换为PDF

    万次阅读 2019-03-04 15:36:02
    如图,在vba编辑窗口,选择“工具--》引用” sub batchConvert2pdf() '需要转换的word文档的个数 dim total as Integer '定义文件名数组:数组的个数根据需要进行设置 Dim fns(total) As String fns(0) =...
  • Excel-VBA.pdf

    2019-11-26 13:22:04
    Excel-VBA教程完全版,网上流传的比较牛的VBA教程,入门到进阶,讲的全面实用,包括:VBA语言基础、程序设计网络教学、利用VBA设置工作表使用权限、定时器等内容!!!!!!!
  • excel+VBA.pdf

    2020-04-29 15:07:50
    excel+VBA
  • 来吧 带你玩excel vba 罗刚君 PDF 文字版 全本非试读
  • 需要传两个参数,excel路径和pdf路径。 代码可以做成wsf文件,通过C语言或者java调用 <job id="etop"> <reference guid="{00020813-0000-0000-C000-000000000046}" comment="MSExcel 2000 tag library, ...
  • 用Excel VBA方法实现报表自动生成pdf,用Excel VBA方法实现报表自动生成
  • VBA-另存为pdf

    千次阅读 2018-06-30 12:26:27
    Sub 另存为pdf() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Users\zgjxg\Desktop\" &amp; Worksheets(2).Range("c4").Value, Quality:=xlQualityStandard, _ ...
  • EXCEL-VBA:打开word文件转换为PDF保存

    千次阅读 2020-02-27 21:34:37
    Sub a() Dim WordApp As Word.... WordDoc.SaveAs ThisWorkbook.Path & "\HAHA1.pdf", wdFormatPDF WordDoc.Close WordApp.Quit Set WordDoc = Nothing Set WordApp = Nothing End Sub 要引用word哦
  • Excel_2007_VBA.pdf

    2020-05-05 22:57:11
    这个文档是 2007版Excel VBA使用前的一个培训文件,能对VBA的使用有一个初步了解,但不能完全替代微软官方发布的操作手册。
  • VBA实现自动发送PDF附件邮件功能。非常好用的,每当保存动作完成,系统就自动发送一份邮件通知相关已经定义好的群组!
  • 如何能够将jpg图片批量pdf文件,并将pdf子文件合并成一个文件.? 为此给出解题思路如下: 将jpg图片批量插入到word文档中,然后使用word的导出功能将文档转为pdf文件。 主要步骤: 1,使用Scripting....
  • 基于Excel VBA的批量数据提取工具开发 基于Excel VBA的批量数据提取工具开发
  • Excel 2016 Power Programming with VBA is fully updated to cover all the latest tools and tricks of Excel 2016. Encompassing an analysis of Excel application development and a complete introduction to ...
  • 学习运用VBA语言的强大功能,将自己的Excel技能提升到全新水平!综合性指南 中文版Excel 2016高级VBA编程宝典(第8版) 将帮助你实现数据处理自动化,并开发出功能完备的Excel程序。本书针对Excel*新版本做了全面更新...
  • Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.
  • 如果你已经拥有使用Excel的丰富经验,可以借助《中文版Excel 2010高级VBA编程宝典》成为一位 Excel专家。Excel 2010高级 VBA编程宝典不仅介绍使用 Excel的新方法和开发新电子表格应用程序的步骤,还展示如何开发 VBA...
  • Word转PDF,PDF转图片,图片转PDF,需要安装openoffice,解决了失真的问题,暂时没有发现乱码,有问题可以邮件我51170526@163.com

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,328
精华内容 1,331
关键字:

vba转pdf