گاهی اوقات، هنگام کار در اکسل، نیاز به تبدیل workbook اکسل به PDF دارید. اگر سعی کنید این کار را به صورت دستی انجام دهید، می تواند یک فرآیند زمان بر باشد. ما می توانیم کار را با استفاده از برنامه VBA تکمیل کنیم زیرا نمی توان آن را مستقیماً در اکسل تکمیل کرد. این مقاله را بخوانید تا بیاموزید چگونه می توانید چندین workbook یا کاربرگ را به طور همزمان در اکسل به فایل PDF تبدیل کنید. اجازه دهید روند را به صورت مختصرتر ببینیم.
تبدیل چندین workbook به فایل PDF به طور همزمان در اکسل
در اینجا ابتدا یک ماژول VBA ایجاد میکنیم، سپس آن را اجرا میکنیم تا پوشههایی را انتخاب کنیم که حاوی کتابهای کاری و PDF هستند، سپس روی OK کلیک کنید تا کار تکمیل شود. اجازه دهید یک فرآیند ساده را ببینیم تا بدانیم چگونه می توانیم چندین workbook را پس از قرار گرفتن در اکسل به فایل PDF تبدیل کنیم.
مرحله 1
اجازه دهید یک صفحه اکسل جدید در نظر بگیریم، سپس روی نام برگه کلیک راست کرده و view code را انتخاب کنید تا برنامه vba باز شود، سپس بر روی inset کلیک کرده و ماژول را انتخاب کنید.
کلیک راست کنید > View code > Inset > Module
سپس همانطور که در تصویر زیر نشان داده شده است، کد برنامه زیر را در کادر متنی تایپ کنید.
برنامه 1
Sub ExcelSaveAsPDF() 'Update By Nirmal Dim strPath As String Dim xStrFile1, xStrFile2 As String Dim xWbk As Workbook Dim xSFD, xRFD As FileDialog Dim xSPath As String Dim xRPath, xWBName As String Dim xBol As Boolean Set xSFD = Application.FileDialog(msoFileDialogFolderPicker) With xSFD .Title = "Please select the folder contains the Excel files you want to convert:" .InitialFileName = "C:" End With If xSFD.Show <> -1 Then Exit Sub xSPath = xSFD.SelectedItems.Item(1) Set xRFD = Application.FileDialog(msoFileDialogFolderPicker) With xRFD .Title = "Please select a destination folder to save the converted files:" .InitialFileName = "C:" End With If xRFD.Show <> -1 Then Exit Sub xRPath = xRFD.SelectedItems.Item(1) & "" strPath = xSPath & "" xStrFile1 = Dir(strPath & "*.*") Application.ScreenUpdating = False Application.DisplayAlerts = False Do While xStrFile1 <> "" xBol = False If Right(xStrFile1, 3) = "xls" Then Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1) xbwname = Replace(xStrFile1, ".xls", "_pdf") xBol = True ElseIf Right(xStrFile1, 4) = "xlsx" Then Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1) xbwname = Replace(xStrFile1, ".xlsx", "_pdf") xBol = True ElseIf Right(xStrFile1, 4) = "xlsm" Then Set xWbk = Workbooks.Open(Filename:=strPath & xStrFile1) xbwname = Replace(xStrFile1, ".xlsm", "_pdf") xBol = True End If If xBol Then xWbk.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xRPath & xbwname & ".pdf" xWbk.Close SaveChanges:=False End If xStrFile1 = Dir Loop Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
گام 2
سپس برگه را بهعنوان یک workbook با قابلیت ماکرو ذخیره کنید، پوشهای را که فایلهای اکسل در آن وجود دارد انتخاب کنید و روی OK کلیک کنید.