簡體   English   中英

將 XLSM 保存到 XLSX

[英]Save XLSM to XLSX

我正在努力將我的 XLSM 轉換為 XLSX 文件..它是在轉換為 PDF 之前,我嘗試進行一些更改但沒有成功。

我想與工作簿具有相同的名稱,但只是采用 XLSX 格式。

Sub xlsmtoxlsx()
Dim PathFile As String
Dim PathArray() As String
Dim PathPDF As String
   
'Get file path
PathFile = Application.ThisWorkbook.FullName

'Split file path in path and file ending
PathArray() = Split(PathFile, ".")

'Creat file path with ".pdf" ending
PathPDF = PathArray(0) & ".xlsx"
    
'PDF File is saved in directory of workbook
ActiveSheet.ExportAsFixedFormat Type:=xlTypeXlsx, Filename:= _
    PathPDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=True
    
'Closes Workbook after generating PDF
ActiveWorkbook.Saved = True
Application.Quit

備份為XLSX

Option Explicit

Sub BackupAsXLSX()
    
    ' Create a reference to the source workbook.
    Dim swb As Workbook: Set swb = ThisWorkbook ' workbook containing this code
    
    ' Determine the destination file path ('FullName').
    Dim sFilePath As String: sFilePath = swb.FullName
    Dim DotPosition As Long: DotPosition = InStrRev(sFilePath, ".")
    Dim dFilePath As String: dFilePath = Left(sFilePath, DotPosition) & "xlsx"
    
    Application.ScreenUpdating = False
    
    ' Copy all sheets to a new (destination) workbook.
    swb.Sheets.Copy
    Dim dwb As Workbook: Set dwb = ActiveWorkbook
    ' Save and close the destination workbook.
    Application.DisplayAlerts = False ' overwrite without confirmation
    dwb.SaveAs Filename:=dFilePath, FileFormat:=xlOpenXMLWorkbook
    Application.DisplayAlerts = True
    dwb.Close SaveChanges:=False
    
    Application.ScreenUpdating = True
    
    ' Inform.
    MsgBox "XLSX backup created.", vbInformation
    
    ' Note that the source workbook hasn't been modified in any way.
    
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM