Note: The other languages of the website are Google-translated. Back to English

Ինչպե՞ս պահպանել աշխատանքային թերթը որպես PDF ֆայլ և էլեկտրոնային փոստով ուղարկել այն որպես հավելված Outlook- ի միջոցով:

Որոշ դեպքերում կարող է անհրաժեշտ լինել Outlook- ի միջոցով աշխատանքային թերթ ուղարկել որպես PDF ֆայլ: Սովորաբար, դուք պետք է ձեռքով պահեք աշխատաթերթը որպես PDF ֆայլ, ապա այս PDF ֆայլով նոր էլփոստ ստեղծեք որպես կցորդ ձեր Outlook- ում և վերջապես ուղարկեք այն: Ձեռքով քայլ առ քայլ հասնելը ժամանակատար է: Այս հոդվածում մենք ձեզ ցույց կտանք, թե ինչպես արագ պահպանել աշխատանքային թերթը որպես PDF ֆայլ և այն ավտոմատ կերպով ուղարկել որպես հավելված Excel- ի Outlook- ի միջոցով:

Պահեք աշխատանքային թերթը որպես PDF ֆայլ և էլփոստով ուղարկեք այն որպես հավելված VBA կոդով


Պահեք աշխատանքային թերթը որպես PDF ֆայլ և էլփոստով ուղարկեք այն որպես հավելված VBA կոդով

Կարող եք գործարկել ստորև ներկայացված VBA կոդը ՝ ակտիվ աշխատանքային թերթը որպես PDF ֆայլ ինքնաբերաբար պահելու համար, այնուհետև ուղարկելով այն որպես հավելված Outlook- ի միջոցով: Խնդրում եմ, արեք հետևյալ կերպ.

1. Բացեք աշխատանքային թերթը, որը կփրկեք որպես PDF և ուղարկեք, ապա սեղմեք ալտ + F11 ստեղները միաժամանակ բացելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլներ, Դրանից հետո պատճենեք և տեղադրեք ներքևում նշված VBA կոդը ՝ Կոդ պատուհան Տեսեք,

VBA կոդ. Պահպանեք աշխատանքային թերթը որպես PDF ֆայլ և էլեկտրոնային փոստով ուղարկեք այն որպես հավելված

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3. Սեղմեք F5 ծածկագիրը գործելու համար: Մեջ Թերթել երկխոսության տուփ, խնդրում ենք ընտրել պանակ ՝ այս PDF ֆայլը պահելու համար, ապա կտտացրեք OK կոճակը:

Notes:

1. Այժմ ակտիվ աշխատանքային թերթը պահվում է որպես PDF ֆայլ: Իսկ PDF ֆայլը անվանվում է աշխատանքային թերթի անվան հետ:
2. Եթե ակտիվ աշխատանքային թերթը դատարկ է, ապա կտտացնելուց հետո կստանաք երկխոսության տուփ, ինչպես ցույց է տրված ստորև նշված էկրանի նկարը OK կոճակը:

4. Այժմ ստեղծվում է նոր Outlook էլ. Փոստ, և դուք կարող եք տեսնել, որ PDF ֆայլը նշված է որպես Կցված կցված բաժնում: Տեսեք,

5. Խնդրում ենք կազմեք այս էլ-նամակը և ապա ուղարկեք այն:
6. Այս կոդը հասանելի է միայն այն ժամանակ, երբ Outlook- ը օգտագործում եք որպես ձեր փոստային ծրագիր:

Հեշտությամբ պահեք աշխատանքային թերթը կամ մի քանի աշխատանքային թերթերը միանգամից որպես առանձին PDF ֆայլեր.

The Պառակտում աշխատանքային գրքույկ օգտակարությունը Excel- ի համար նախատեսված գործիքներ կարող է օգնել ձեզ հեշտությամբ պահպանել աշխատանքային թերթը կամ բազմաթիվ աշխատանքային թերթերը միանգամից որպես առանձին PDF ֆայլեր, ինչպես ցույց է տրված ստորև ցուցադրված ցուցադրումը: Ներբեռնեք և փորձեք հիմա: (30- օր անվճար երթուղի)


Առնչվող հոդվածներ:


Գրասենյակի արտադրողականության լավագույն գործիքները

Excel-ի համար Kutools-ը լուծում է ձեր խնդիրների մեծ մասը և բարձրացնում ձեր արտադրողականությունը 80%-ով

  • Վերաօգտագործել: Արագ տեղադրեք բարդ բանաձևեր, գծապատկերներ և այն ամենը, ինչ դուք նախկինում օգտագործել եք. Ryածկագրել բջիջները գաղտնաբառով; Ստեղծեք փոստային ցուցակ և նամակներ ուղարկել ...
  • Super Formula Bar (հեշտությամբ խմբագրեք տեքստի և բանաձևի բազմաթիվ տողեր); Ընթերցանության դասավորությունը (հեշտությամբ կարդալ և խմբագրել մեծ թվով բջիջներ); Տեղադրել ֆիլտրացված տիրույթում...
  • Միաձուլել բջիջները / տողերը / սյունակները առանց տվյալների կորստի. Պառակտված բջիջների պարունակությունը; Միավորել կրկնօրինակ տողերը / սյունակները... Կանխել կրկնօրինակ բջիջները; Համեմատեք միջակայքերը...
  • Ընտրեք Կրկնօրինակ կամ Եզակի Շարքեր; Ընտրեք դատարկ շարքեր (բոլոր բջիջները դատարկ են); Super Find և Fuzzy Find շատ աշխատանքային գրքույկներում; Պատահական ընտրություն ...
  • Actշգրիտ պատճեն Բազմաթիվ բջիջներ ՝ առանց բանաձևի հղումը փոխելու; Ավտոմատ ստեղծեք հղումներ դեպի մի քանի թերթեր; Տեղադրեք փամփուշտներ, Տուփեր և ավելին ...
  • Քաղվածք տեքստ, Տեքստ ավելացնել, հեռացնել ըստ դիրքի, Հեռացնել տարածությունը; Ստեղծել և տպել էջային ենթագոտիներ; Փոխարկել բջիջների բովանդակության և մեկնաբանությունների միջև...
  • Սուպեր զտիչ (պահպանել և կիրառել ֆիլտրի սխեմաները այլ թերթերի վրա); Ընդլայնված տեսակավորում ըստ ամիս / շաբաթ / օր, հաճախականություն և ավելին; Հատուկ զտիչ համարձակ, շեղատառով ...
  • Միավորել աշխատանքային տետրերը և աշխատանքային թերթերը; Միավորել աղյուսակները ՝ հիմնված հիմնական սյունակների վրա; Տվյալները բաժանեք մի քանի թերթերի; Խմբաքանակի փոխակերպում xls, xlsx և PDF...
  • Ավելի քան 300 հզոր հատկություններ. Աջակցում է Office / Excel 2007-2021 և 365: Աջակցում է բոլոր լեզուներին: Հեշտ տեղակայում ձեր ձեռնարկությունում կամ կազմակերպությունում: Ամբողջական հնարավորություններ 30-օրյա անվճար փորձարկում: 60-օրյա գումարի վերադարձի երաշխիք:
kte էջանիշը 201905

Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
officetab ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (63)
Գնահատված 5- ը 5- ից դուրս է · 1 վարկանիշ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա ինձ համար հիանալի է աշխատում, բայց կա՞ տարբերակ թղթապանակի գտնվելու վայրը ինքնաբերաբար ընտրելու, քան ձեռքով ընտրելու տարբերակ: Ես հուսով եմ դա անել միանգամից 40 թերթիկի համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Նաև այս հարցի պատասխանը տեսնելու հույսով: Շնորհակալություն օգնության համար!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես փորձել եմ սա տեղադրել նոր մոդուլի մեջ և ստացել եմ Կազմելու սխալ՝ ենթակետը կամ գործառույթը սահմանված չէ: Խնդրում ենք օգնել.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Դարեն,
Office-ի ո՞ր տարբերակն եք օգտագործում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Office 360
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Նույն հարցը
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ խմբագրել վերը նշված VBA սկրիպտը, որպեսզի այն ավելացնի ամսաթվի և ժամի դրոշմակնիք ֆայլի անվան վրա, այնպես որ այն չշարունակի վերագրել այն, ինչ արդեն պահպանված է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Միքայել,
Խնդրում ենք գործարկել ստորև նշված VBA կոդը՝ խնդիրը լուծելու համար:

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xStr Որպես տող

Սահմանել xSht = ActiveSheet
Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)

Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
xStr = Ձևաչափ (Հիմա(), «yyyy-mm-dd-hh-mm-ss»)
xFolder = xFolder + "\" + xSht.Name + "-" + xStr + ".pdf"

«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
'Պահպանել որպես PDF ֆայլ
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
Դեպի = ""
.CC = ""
.Subject = xSht.Name + "-" + xStr + ".pdf"
.Կցորդներ.Ավելացնել xFolder
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կրիստալ,

Դա իսկապես հիանալի է և հիանալի աշխատում է ինձ համար: Լրացուցիչ օգնության կարիք կա՝ ավելացնելու համար.

1. «Դեպի» մեջ ես ուզում եմ հղում տալ Active թերթի որոշակի բջիջին, ինչպես wise CC-ում, իսկ BCC-ում ես կցանկանայի ավելացնել ակտիվ թերթիկի հղումը
2. էլփոստի մարմնում ես պետք է նշեմ որոշ ստանդարտ տեքստ:

Ես մեծ կլինեմ ձեզ հետ ձեր օգնության համար:

Շնորհակալություն
Պարագ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Պարագ Սոմանի,
Ստորև բերված VBA կոդը կարող է օգնել ձեզ: Խնդրում ենք փոխել .To, .CC, .BCC և .Body դաշտերը՝ ելնելով ձեր կարիքներից:

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xStr Որպես տող

Սահմանել xSht = ActiveSheet
Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)

Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
xStr = Ձևաչափ (Հիմա(), «yyyy-mm-dd-hh-mm-ss»)
xFolder = xFolder + "\" + xSht.Name + "-" + xStr + ".pdf"

«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
'Պահպանել որպես PDF ֆայլ
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
.To = Range («A8»)
.CC = միջակայք («A9»)
.BCC = Շրջանակ («A10»)
.Subject = xSht.Name + "-" + xStr + ".pdf"
.Body = «Սիրելի» _
& vbNewLine & vbNewLine & _
«Սա փորձնական նամակ է» & _
«Ուղարկել Excel-ում»
.Կցորդներ.Ավելացնել xFolder
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես փորձում էի օգտագործել «To», «CC» միջակայքը, այն պարզապես արժեքները չի վերցնում նշանակված բջիջից: Խնդրում եմ, կարո՞ղ եք օգնել այս հարցում:
Thanks,
Մեհուլ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կրիստալ,

Դա իսկապես հիանալի է և հիանալի աշխատում է ինձ համար: Լրացուցիչ օգնության կարիք կա՝ ավելացնելու համար.

1. «Դեպի» մեջ ես ուզում եմ հղում տալ Active թերթի որոշակի բջիջին, ինչպես wise CC-ում, իսկ BCC-ում ես կցանկանայի ավելացնել ակտիվ թերթիկի հղումը
2. էլփոստի մարմնում ես պետք է նշեմ որոշ ստանդարտ տեքստ:

Ես մեծ կլինեմ ձեզ հետ ձեր օգնության համար:

Շնորհակալություն
Պարագ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կրիստալ,

Դա իսկապես հիանալի է և հիանալի աշխատում է ինձ համար: Լրացուցիչ օգնության կարիք կա՝ ավելացնելու համար.

1. «Դեպի» մեջ ես ուզում եմ հղում տալ Active թերթի որոշակի բջիջին, ինչպես wise CC-ում, իսկ BCC-ում ես կցանկանայի ավելացնել ակտիվ թերթիկի հղումը
2. էլփոստի մարմնում ես պետք է նշեմ որոշ ստանդարտ տեքստ:

Ես մեծ կլինեմ ձեզ հետ ձեր օգնության համար:

Շնորհակալություն
Պարագ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ, օրինակ, թերթիկ 2-ը աշխատանքային գրքույկից որպես pdf ավելացնել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Արմին,
Դուք պետք է նախ բացեք Թերթ 2-ը ձեր աշխատանքային գրքում, այնուհետև գործարկեք VBA կոդը վերը նշված քայլերով, որպեսզի այն իջնի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ խմբագրել վերը նշված VBA սկրիպտը, որպեսզի ֆայլի անունը պահպանվի որպես ընթացիկ թերթում ընտրված հատուկ բջիջ, օրինակ՝ A1 բջիջ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Թոմ:
Ներողություն չեմ կարող օգնել այս հարցում:
Բարի գալուստ ցանկացած հարց տեղադրել մեր ֆորումում. https://www.extendoffice.com/forum.html
Դուք կստանաք ավելի շատ Excel աջակցություն Excel-ի մասնագետներից կամ Excel-ի այլ երկրպագուներից:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ինչպե՞ս կարող եմ պահպանել և ուղարկել pdf-ն աշխատանքային գրքի անվան հետ ընթացիկ VBA կոդով: ինչ եմ օգտագործում xSht.Name-ի փոխարեն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi James,
Ցանկանու՞մ եք ուղարկել ակտիվ աշխատաթերթը որպես pdf և անվանել այն որպես աշխատանքային գրքի անուն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն, այն աշխատում է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ ստիպել այն ջնջել պահպանված pdf-ն այն էլ.փոստով ուղարկելուց հետո:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն asonեյսոն,
Կներեք, դեռ չեմ կարող օգնել ձեզ այդ հարցում: Դուք պետք է ձեռքով ջնջեք այն էլփոստով ուղարկելուց հետո:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ,

Հնարավո՞ր է բջիջից գտնել pdf-ի անունը: Օրինակ՝ Բջջ H4


Իսկ H4 բջիջում ես ուզում եմ, որ այն հավաքվի երեք տարբեր բջիջներից: Սա հնարավո՞ր է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հնարավոր է։ Ստեղծեք առանձին փոփոխականներ՝ արժեքը բջիջներից պահելու համար, այնուհետև օգտագործեք այդ փոփոխականները xFolder-ը սահմանելիս:
Ես օգտագործել եմ իմ թերթիկի մի բջիջի արժեքը՝ գումարած այսօրվա ամսաթիվը: Այնուամենայնիվ, դուք հեշտությամբ կարող եք կատարել բազմաթիվ բջիջների արժեքներ:

Ահա թե ինչ եմ ավելացրել.
Dim xMemberName որպես տող
Dim xFileDate որպես տող

xMemberName = Շրջանակ ("H3"): Արժեք
xFileDate = Ձևաչափ (այժմ՝ «mm-dd»)

xFolder = xFolder + "\" xMemberName + xFileDate + ".pdf"
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես սխալ եմ ստանում, երբ փորձում եմ սա, կոդի մեջ որտեղ պետք է տեղադրեմ սա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Կրիստալ,



Դա իսկապես հիանալի է և հիանալի աշխատում է ինձ համար: Լրացուցիչ օգնության կարիք կա՝ ավելացնելու համար.

1. «Body»-ում ուզում եմ հղում տալ Active թերթի որոշակի բջիջին: Հետագա Կցանկանայի տեքստը համարձակ դարձնել:

Շնորհակալություն

Regards

Քիշոր Կումար
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,

Ուզում եք ասել, որ բջիջի արժեքը ավտոմատ կերպով ավելացնե՞լ փոստի մարմնին և թավացնել այն: Ենթադրենք, որ դուք ավելացնում եք C4 արժեքը փոստի մարմնին: Խնդրում ենք կիրառել ստորև նշված կոդը:

Sub Saveaspdfandsend()

Dim xSht As Worksheet

Dim xFileDlg As FileDialog

Dim xFolder որպես տող

Dim xYesorNo որպես ամբողջ թիվ

Dim xOutlookObj որպես օբյեկտ

Dim xEmailObj որպես օբյեկտ

Dim xUsedRng որպես տիրույթ



Սահմանել xSht = ActiveSheet

Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)



Եթե ​​xFileDlg.Show = True Այնուհետեւ

xFolder = xFileDlg.SelectedItems(1)

Ուրիշ

MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»

Ելք ենթ

Վերջ: Եթե

xFolder = xFolder + "\" + xSht.Name + ".pdf"



«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի

Եթե ​​Len(Dir(xFolder)) > 0 Ապա

xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _

vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)

Ս.թ. սխալի Ռեզյումե Next

Եթե ​​xYesorNo = vbYes Ապա

Սպանեք xFolder-ը

Ուրիշ

MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _

& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»

Ելք ենթ

Վերջ: Եթե

Եթե ​​Սխալ.Թիվ <> 0 Ապա

MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _

& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»

Ելք ենթ

Վերջ: Եթե

Վերջ: Եթե



Սահմանել xUsedRng = xSht.UsedRange

If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա

'Պահպանել որպես PDF ֆայլ

xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard



«Ստեղծեք Outlook էլ

Սահմանել xOutlookObj = CreateObject («Outlook.Application»)

Սահմանել xEmailObj = xOutlookObj.CreateItem(0)

xEmailObj-ի հետ

.Dուցադրել

Դեպի = ""

.CC = ""

.Subject = xSht.Name + ".pdf"

.Կցորդներ.Ավելացնել xFolder

.HTMLBody = "
" & Range("C4") & .HTMLBody

Եթե ​​DisplayEmail = Կեղծ, ապա

'.Ուղարկել

Վերջ: Եթե

Վերջ

Ուրիշ

MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»

Ելք ենթ

Վերջ: Եթե

Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Եթե ​​ես ուզենայի, որ այն ամեն անգամ ավտոմատ պահվեր կոնկրետ թղթապանակում (չբացառելով օգտագործողի կողմից թղթապանակն ընտրելու անհրաժեշտությունը), ինչպե՞ս դա անեի:
Օրինակ՝ Գ՝ հաշիվ-ապրանքագրեր/Հյուսիսային Ամերիկա/Հաճախորդներ
Օգնությունը մեծապես գնահատվում է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Ջեֆ,
Նկատի ունեք աշխատաթերթը պահել որպես pdf ֆայլ և պահպանել կոնկրետ թղթապանակ՝ առանց ուղարկելու:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կարծում եմ, որ Geoff-ը նշանակում է, որ կարողանալ կոնկրետ թղթապանակ նշել կոդում, որտեղ pdf-ն ամեն անգամ պահվում է, այլ ոչ թե պետք է ձեռքով ընտրել տեղադրությունը: Այնուհետև pdf-ն ուղարկվում է էլփոստով այդ հատուկ թղթապանակից:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն Ջերեմի։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Ջեֆֆ, Եթե ցանկանում եք ավտոմատ կերպով պահպանել pdf ֆայլը որոշակի պանակում, այլ ոչ թե ձեռքով ընտրել տեղադրությունը, խնդրում ենք փորձեք ստորև բերված կոդը: Մի մոռացեք փոխել թղթապանակի ուղին կոդում:
Sub SaveAsPDFandSend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xPath որպես տող
Սահմանել xSht = ActiveSheet
xPath = "C:\Users\Win10x64Test\Desktop\worksheet դեպի pdf" 'այստեղ "workshet to pdf"-ը pdf ֆայլերը պահելու նպատակակետ թղթապանակն է
xFolder = xPath + "\" + xSht.Name + ".pdf"
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
'Պահպանել որպես PDF ֆայլ
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
Դեպի = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Կցորդներ.Ավելացնել xFolder
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այս կոդը հիանալի է աշխատում, բացառությամբ, որ ես ուզում եմ, որ աշխատաթերթը պահվի որպես թերթի անուն + ամսաթիվ (այսինքն՝ Sheet1 հոկտեմբերի 1, 2020 թ.); օգտատիրոջ աշխատասեղանին (սա կօգտագործվի մի քանի մարդկանց կողմից, և նրանց ուղիները կարող են մի փոքր տարբերվել): Եթե ​​հնարավոր է, ես ուզում եմ նաև .jpg ներդնել մարմնի մեջ: JPG-ը գտնվում է և՛ աշխատաթերթի ներսում (տպման տարածքից դուրս), և՛ պատկերը պահվում է ընդհանուր սերվերի վրա, թեև դեպի սերվեր տանող ուղին տատանվում է ըստ օգտվող (մեծ մասի համար դա «T» սկավառակ է որոշ «U» սկավառակի համար)
կարելի է դա անել? խնդրում եմ և շնորհակալություն միլիոն անգամ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել

Ողջույն, այն հիանալի է աշխատում, շնորհակալություն կիսվելու համար: Ուղղակի մեկ օգնություն է պետք:
Եթե ​​ես ուզում եմ PDF ֆայլ պահել հարմարեցված անունով (ֆայլի անունը SaveAs երկխոսության վանդակում մուտքագրելու տարբերակ), քանի որ օգտագործողը օգտագործում է այս տարբերակը ձևանմուշում, որտեղ ձևերը պահվում են որպես PDF եզակի անունով:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, խնդրում ենք փորձել ստորև ներկայացված VBA կոդը: Կոդը գործարկելուց հետո ընտրեք թղթապանակ PDF ֆայլը պահելու համար, այնուհետև կհայտնվի երկխոսության տուփ, որպեսզի մուտքագրեք ֆայլի անունը: Sub Saveaspdfandsend()
«Թարմացվել է Extendoffice 20210209
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xStrName-ը որպես տող
Dim xV Որպես տարբերակ

Սահմանել xSht = ActiveSheet
Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)

Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
xStrName = ""
xV = Application.InputBox («Խնդրում ենք մուտքագրել ֆայլի անունը.», «Kutools for Excel», , , , , , 2)
Եթե ​​xV = Սխալ, ապա
Ելք ենթ
Վերջ: Եթե
xStrName = xV
Եթե ​​xStrName = "" Ապա
MsgBox («Ֆայլի անուն մուտքագրված չէ, ելքի գործընթաց է»)
Ելք ենթ
Վերջ: Եթե

xFolder = xFolder + "\" + xStrName + ".pdf"
«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
'Պահպանել որպես PDF ֆայլ
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
Դեպի = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Կցորդներ.Ավելացնել xFolder
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Եթե ​​ես ունեմ երկու թերթ ֆայլում, և ես կցանկանայի գործարկել այս մակրոն մեկ թերթի վրա (սեղմելով կոճակը), բայց ուղարկեմ մյուսը, ինչպե՞ս կարող եմ այն ​​ստանալ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես կցանկանայի պահպանել սա ֆայլի որոշակի վայրում՝ C30 բջիջի արժեքի հիման վրա անվանմամբ: Ես փորձել եմ մի քանի տարբերակներ, բայց շարունակում եմ սխալներ ստանալ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Հեյն, Ստորև բերված կոդը կարող է օգնել: Կոդը գործարկելուց հետո ընտրեք որոշակի թղթապանակ PDF ֆայլը պահելու համար, այնուհետև կհայտնվի երկխոսության տուփ, որպեսզի մուտքագրեք ֆայլի անունը: Sub Saveaspdfandsend()
«Թարմացվել է Extendoffice 20210209
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xStrName-ը որպես տող
Dim xV Որպես տարբերակ

Սահմանել xSht = ActiveSheet
Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)

Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
xStrName = ""
xV = Application.InputBox («Խնդրում ենք մուտքագրել ֆայլի անունը.», «Kutools for Excel», , , , , , 2)
Եթե ​​xV = Սխալ, ապա
Ելք ենթ
Վերջ: Եթե
xStrName = xV
Եթե ​​xStrName = "" Ապա
MsgBox («Ֆայլի անուն մուտքագրված չէ, ելքի գործընթաց է»)
Ելք ենթ
Վերջ: Եթե

xFolder = xFolder + "\" + xStrName + ".pdf"
«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
'Պահպանել որպես PDF ֆայլ
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
Դեպի = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Կցորդներ.Ավելացնել xFolder
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն դրա համար, դա հիանալի է, բայց ես ուզում եմ, որ թերթը անվանվի ըստ A1 բջիջի 1-ին թերթի վրա: Այն տեղը, որը պետք է պահպանվի 1-րդ թերթում A2-ի համաձայն, օրինակ՝ C:\Users\peete\Dropbox\Screenshots և էլ. էլփոստի հասցեն A3 թերթիկ 2-ում, ինչ ես արդեն մշակել եմ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն դրա համար, դա հիանալի է, բայց ես ուզում եմ, որ թերթը անվանվի ըստ A1 բջիջի 1-ին թերթում: Այն տեղը, որը պետք է պահպանվի ըստ A1-ի 2-րդ թերթում, օրինակ C:\Users\peete\Dropbox\Screenshots, բայց կարող է փոխվել, երբ օգտագործելով ֆայլը և էլփոստով ուղարկել A3 թերթի 2-ի էլ. հասցեին այն, ինչ ես արդեն մշակել եմ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi բյուրեղապակի Գերազանց կոդ, շնորհակալություն փոխանակման համար: Կա՞ մի քանի թերթեր ընտրելու (նույն աշխատանքային գրքույկից) յուրաքանչյուրը որպես անկախ PDF պահելու և այնուհետև բոլորը կցված մեկ էլ.փոստով ուղարկելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ստորև բերված VBA կոդը կարող է ձեզ լավություն անել, խնդրում ենք փորձել: Կոդի տասներկուերորդ տողում խնդրում ենք փոխարինել թերթերի անունները ձեր դեպքում իրական թերթերի անուններով:
Sub Saveaspdfandsend1()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo, I, xNum Որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xArrShetts Որպես տարբերակ
Dim xPDFNameAddress որպես տող
Dim xStr Որպես տող
xArrShetts = զանգված ("փորձարկում", «Թերթ 1», «Թերթ 2») 'Մուտքագրեք թերթերի անունները, որոնք կուղարկեք որպես pdf ֆայլեր, որոնք կցված են չակերտներով և առանձնացրեք դրանք ստորակետով: Համոզվեք, որ ֆայլի անվան մեջ չկան հատուկ նիշեր, ինչպիսիք են \/:"*<>|-ը:

For I = 0 To UBound (xArrShetts)
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))
Եթե ​​xSht.Name <> xArrShetts(I) Ապա
MsgBox «Աշխատանքային թերթիկ չի գտնվել, ելքի գործողություն.» & vbCrLf & vbCrLf & xArrShetts(I), vbInformation, «Kutools for Excel»
Ելք ենթ
Վերջ: Եթե
հաջորդ


Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)
Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
xYesorNo = MsgBox («Եթե նույնանուն ֆայլեր կան նպատակակետ թղթապանակում, թվային վերջածանցը ավտոմատ կերպով կավելացվի ֆայլի անվան մեջ՝ կրկնօրինակները տարբերելու համար» & vbCrLf & vbCrLf & «Սեղմեք Այո շարունակելու համար, սեղմեք Ոչ՝ չեղարկելու համար», _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Եթե ​​xYesorNo <> vbYes Ապա Ելք Sub
For I = 0 To UBound (xArrShetts)
Սահմանել xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))

xStr = xFolder & "\" & xSht.Name & ".pdf"
xNum = 1
Մինչդեռ Not (Dir(xStr, vbDirectory) = vbNullString)
xStr = xFolder & "\" & xSht.Name & "_" & xNum & ".pdf"
xNum = xNum + 1
գնալ
Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xStr, Որակ՝=xlQualityStandard
Ուրիշ

Վերջ: Եթե
xArrShetts(I) = xStr
հաջորդ

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
Դեպի = ""
.CC = ""
.Թեմա = "????"
For I = 0 To UBound (xArrShetts)
.Կցորդներ.Ավելացնել xArrShetts(I)
հաջորդ
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, Մի փոփոխություն, որի հետ ես պայքարում եմ, յուրաքանչյուր ստեղծված pdf փաստաթղթի համար առանձին էլփոստ ստեղծելն է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Յուրաքանչյուր pdf փաստաթղթի համար առանձին էլ.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես աշխատանքային գրքում ունեմ ավելի քան 100 աշխատաթերթ, ինչը կհանգեցնի նրան, որ ես պետք է աշխատեմ VBA-ն ավելի քան 100 անգամ, ինչը ժամանակատար է:  
Ինձ հաջողվել է բաժանել իմ աշխատանքային գրքույկը մի քանի թերթիկի, այնուհետև ես կարող եմ յուրաքանչյուր աշխատաթերթը վերափոխել առանձին PDF փաստաթղթի:
Լուծումը, որը ես փնտրում եմ, յուրաքանչյուր PDF փաստաթուղթ առանձին էլեկտրոնային փոստով ուղարկելն է, մինչ վերը նշված գործընթացը գործում է:
Այս պահին ես աշխատում եմ VBA-ով.
Sub Saveaspdfandsend1()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo, I, xNum Որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xArrShetts Որպես տարբերակ
Dim xPDFNameAddress որպես տող
Dim xStr Որպես տող
xArrShetts = Զանգված ("02302257", "02400438", "02401829", "02403995", "02408001", "02409208", _
«02409980», «02411881», «02424178», «02430454», «02444046», «02448950», «02450600», _
«02459861», «02461750», «02467535», «02480484», «02484749», «02502041», «02504807», _
«02511843», «02515193», «02523098», «02523244», «02524036», «02524548», «02525516», «02525703», «02525898», «02528908», «02528950», «XNUMX», «XNUMX», «XNUMX», «XNUMX», «XNUMX»
«02530381», «02531018», «02531252», «02531277», «02532571», «02533053», «02533474», _
«02534176», «02534592», «02534626», «02535343», «02536386», «02536921», «02537544», _
«02537607», «02538015», «02538755», «02538836», «02538910», «02539685», «02540063», «02540139», «02540158», «02541607», «02542344», «XNUMX», «XNUMX», «XNUMX», «XNUMX», «XNUMX»
«02543763», «02543985», «02544116», «02544748», «02544762», «02545026», «02545048», _
«02545080», «02545447», «02545730», «02545814», «02546477», «02547458», «02547673», _
«02547833», «02547912», «02547950», «02547991», «02548848», «02549103», «02549116», «02549125», «02549132», «02549140», «02549182», «XNUMX», «XNUMX», «XNUMX», «XNUMX», «XNUMX»
«02549462», «02549499», «02549565», «02549687», «02550049», «02550437», «02550812», _
«02550982», «02551004», «02551005», «02551045», «02552099», «02552222», «02552561», _
«02552684», «02552815», «02552892», «02553031», «02553186», «02553628», «02553721», «02555186», «02556934», «02557137», «02557393», «XNUMX», «XNUMX», «XNUMX», «XNUMX», «XNUMX»
«02559121», «02559392», «02559419», «02559512», «02559802», «02559868», «02560052», _
«02560612», «02560684», «02560920», «02561018», «02561061», «02561092», «02561227», _
«02561349», «02561592», «02561630», «02561673», «02561880», «02562359», «02562920», «02562934», «02563013», «02563119», «02563133», «XNUMX», «XNUMX», «XNUMX», «XNUMX», «XNUMX»
«02563445», «02563737», «02563828», «02563852», «02563861», «02563971», «02564042», _
«02564315», «02564366», «02564832», «02564909», «02565059», «02565205») «Մուտքագրեք թերթերի անունները, որոնք կուղարկեք որպես pdf ֆայլեր՝ կցված չակերտներով և առանձնացրեք դրանք ստորակետերով։ Համոզվեք, որ ֆայլի անվան մեջ չկան հատուկ նիշեր, ինչպիսիք են \/:"*<>|-ը:

For I = 0 To UBound (xArrShetts)
Ս.թ. սխալի Ռեզյումե Next
Սահմանել xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))
Եթե ​​xSht.Name <> xArrShetts(I) Ապա
MsgBox «Աշխատանքային թերթիկ չի գտնվել, ելքի գործողություն.» & vbCrLf & vbCrLf & xArrShetts(I), vbInformation, «Kutools for Excel»
Ելք ենթ
Վերջ: Եթե
հաջորդ


Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)
Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
xYesorNo = MsgBox («Եթե նույնանուն ֆայլեր կան նպատակակետ թղթապանակում, թվային վերջածանցը ավտոմատ կերպով կավելացվի ֆայլի անվան մեջ՝ կրկնօրինակները տարբերելու համար» & vbCrLf & vbCrLf & «Սեղմեք Այո շարունակելու համար, սեղմեք Ոչ՝ չեղարկելու համար», _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Եթե ​​xYesorNo <> vbYes Ապա Ելք Sub
For I = 0 To UBound (xArrShetts)
Սահմանել xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))

xStr = xFolder & "\" & xSht.Name & ".pdf"
xNum = 1
Մինչդեռ Not (Dir(xStr, vbDirectory) = vbNullString)
xStr = xFolder & "\" & xSht.Name & "_" & xNum & ".pdf"
xNum = xNum + 1
գնալ
Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xStr, Որակ՝=xlQualityStandard
Ուրիշ

Վերջ: Եթե
xArrShetts(I) = xStr
հաջորդ

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
.To = "Ctracklegal@ctrack.com"
.CC = ""
.Թեմա = "????"
For I = 0 To UBound (xArrShetts)
Ս.թ. սխալի Ռեզյումե Next
.Կցորդներ.Ավելացնել xArrShetts(I)
հաջորդ
Եթե ​​DisplayEmail = Կեղծ, ապա
.Ուղարկել
Ելք ենթ
Վերջ: Եթե
Վերջ


Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև @crystal
Սա հիանալի է. o հիմնական բանը, որի հետ ես պայքարում եմ, ֆայլի անունն է. ես կցանկանայի, որ ֆայլի անունը հանվի աշխատաթերթի բջիջից, այլ ոչ թե օգտագործի ներդիրի անունը: Ես արդեն խմբագրել եմ կոդը, որպեսզի ավտոմատ կերպով պահպանվի նշված թղթապանակում, բայց դժվարանում եմ ֆայլի անվան հետ:
Խնդրում եմ, որևէ օգնություն կարող եք առաջարկել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Թորի, Եթե ցանկանում եք PDF ֆայլը անվանել որոշակի բջջային արժեքով, փորձեք հետևյալ կոդը: Կոդը գործարկելուց և ֆայլը պահելու համար թղթապանակ ընտրելուց հետո մեկ այլ երկխոսության տուփ է բացվում, խնդրում ենք ընտրել այն բջիջը, որը կօգտագործեք: արժեքը որպես PDF ֆայլի անուն, այնուհետև սեղմեք OK ավարտելու համար:
Sub Saveaspdfandsend2()
«Թարմացվել է Extendoffice 20210521
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng, xRgInser As Range
Dim xB որպես բուլյան
Սահմանել xSht = ActiveSheet
Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)

Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
xB = Ճշմարիտ
Ս.թ. սխալի Ռեզյումե Next
Մինչդեռ xB
Սահմանել xRgInser = Ոչինչ
Սահմանեք xRgInser = Application.InputBox («Ընտրեք մի բջիջ, որի արժեքը կօգտագործեք PDF ֆայլը անվանելու համար.», «Kutools for Excel», , , , , , 8)
Եթե ​​xRgInser-ը ոչինչ է, ապա
MsgBox "Ոչ մի բջիջ ընտրված չէ, դուրս եկեք գործողությունից", vbInformation, "Kutools for Excel"
Ելք ենթ
Վերջ: Եթե
If xRgInser.Text = "" Ապա
MsgBox " Ընտրված բջիջը դատարկ է, խնդրում ենք վերընտրել: ", vbInformation, "Kutools for Excel"
Ուրիշ
xB = Սխալ
Վերջ: Եթե
գնալ

xFolder = xFolder + "\" + xRgInser.Text + ".pdf"

«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
'Պահպանել որպես PDF ֆայլ
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
Դեպի = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Կցորդներ.Ավելացնել xFolder
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ինձ նման բան էր պետք, այնպես որ ահա այն, ինչ ես ստացա: Այն վերցնում է ընթացիկ ամսաթիվը և ստեղծում է նոր թղթապանակ՝ ամսաթվի անունով որոշակի վայրում: Այն տեղադրում է pdf-ն այդ նոր վայրում, այնուհետև pdf-ը կցում է նոր էլփոստի մեջ: Աշխատում է որպես բուժում: Ես պարզապես սկսնակ եմ, ուստի խնդրում եմ, ներեցեք ինձ, եթե կարծես խառնաշփոթ է: :D
Ենթ PDFTOEMAIL()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xPath որպես տող
Dim xOutMsg որպես տող
Dim sFolderName As String, sFolder As String
Dim sFolderPath-ը որպես տող

Սահմանել xSht = ActiveSheet
xFileDate = Ձևաչափ (այժմ՝ «dd-mm-yyyy»)
sFolder = "C:" 'այստեղ դուք ունեք հիմնական թղթապանակ
sFolderName = "Շաբաթվա ավարտ" + Ձևաչափ(Հիմա, "dd-mm-yyyy") 'թղթապանակ, որը պետք է ստեղծվի հիմնական թղթապանակում՝ Շաբաթվա ավարտի և ընթացիկ ամսաթվի անունով
sFolderPath = "C:" & sFolderName 'հիմնական թղթապանակը կրկին ստեղծելու համար նոր ուղին, ներառյալ նոր թղթապանակը
Սահմանել oFSO = CreateObject («Scripting.FileSystemObject»)
Եթե ​​oFSO.FolderExists(sFolderPath) Ապա
MsgBox «Թղթապանակն արդեն գոյություն ունի»: & vbCrLf & vbCrLf & sFolderPath, vbInformation, «INFO»
Ուրիշ
MkDir sFolderPath
MsgBox "Նոր թղթապանակ ստեղծվել է!" & vbCrLf & vbCrLf & sFolderPath, vbInformation, «INFO»
Վերջ: Եթե
xPath = sFolderPath
xFolder = xPath + "\" + xSht.Name + "_" + xFileDate + ".pdf"
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xOutMsg = « Խնդրում ենք գտնել կից Այս էլ․ հասցեն և հավելվածը ստեղծվել են ավտոմատ կերպով։
«Ավելացնում է նշում, որ էլփոստը ստեղծվել է ավտոմատ կերպով

xEmailObj-ի հետ
.Dուցադրել
.To = "" 'ավելացրեք ձեր սեփական էլ
.CC = ""
.Subject = xSht.Name + " PDF for week end " + xFileDate + " - Location " ' առարկան ներառում է թերթի անվանումը, pdf-ը, ամսաթիվը և գտնվելու վայրը, այն կարող է խմբագրվել ըստ անհրաժեշտության
.Կցորդներ.Ավելացնել xFolder
.HTMLBody = xOutMsg & .HTMLBody
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկեք <--- Այստեղ, եթե ջնջեք ապոստրոֆը, նամակն ինքնաբերաբար կուղարկվի, ուստի խնդրում ենք զգույշ լինել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպես կարող եմ խմբագրել այս կոդը, որպեսզի պահպանվեն միայն բջիջները («a1:r99»)՝ որպես PDF: Ես լրացուցիչ իրեր ունեմ այն ​​կողմերում, որոնք ես չեմ ուզում իմ PDF փաստաթղթում:
Sub Saveaspdfandsend()
«Թարմացվել է Extendoffice 20210209
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder որպես տող
Dim xYesorNo որպես ամբողջ թիվ
Dim xOutlookObj որպես օբյեկտ
Dim xEmailObj որպես օբյեկտ
Dim xUsedRng որպես տիրույթ
Dim xStrName-ը որպես տող
Dim xV Որպես տարբերակ

Սահմանել xSht = ActiveSheet
Սահմանել xFileDlg = Application.FileDialog (msoFileDialogFolderPicker)

Եթե ​​xFileDlg.Show = True Այնուհետեւ
xFolder = xFileDlg.SelectedItems(1)
Ուրիշ
MsgBox «Դուք պետք է նշեք թղթապանակ PDF-ը պահելու համար»: & vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Պետք է նշել նպատակակետի թղթապանակը»
Ելք ենթ
Վերջ: Եթե
xStrName = ""
xV = Application.InputBox («Խնդրում ենք մուտքագրել ֆայլի անունը.», «Kutools for Excel», , , , , , 2)
Եթե ​​xV = Սխալ, ապա
Ելք ենթ
Վերջ: Եթե
xStrName = xV
Եթե ​​xStrName = "" Ապա
MsgBox («Ֆայլի անուն մուտքագրված չէ, ելքի գործընթաց է»)
Ելք ենթ
Վերջ: Եթե

xFolder = xFolder + "\" + xStrName + ".pdf"
«Ստուգեք, արդյոք ֆայլն արդեն գոյություն ունի
Եթե ​​Len(Dir(xFolder)) > 0 Ապա
xYesorNo = MsgBox(xFolder & " արդեն գոյություն ունի" & vbCrLf & vbCrLf & "Ցանկանու՞մ եք վերագրել այն", _
vbYesNo + vbQuestion, «Ֆայլը գոյություն ունի»)
Ս.թ. սխալի Ռեզյումե Next
Եթե ​​xYesorNo = vbYes Ապա
Սպանեք xFolder-ը
Ուրիշ
MsgBox «եթե գոյություն ունեցող PDF-ը չվերագրեք, ես չեմ կարող շարունակել»: _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Ելք մակրո»
Ելք ենթ
Վերջ: Եթե
Եթե ​​Սխալ.Թիվ <> 0 Ապա
MsgBox "Անհնար է ջնջել առկա ֆայլը: Համոզվեք, որ ֆայլը բաց չէ կամ գրեք պաշտպանված:" _
& vbCrLf & vbCrLf & «Սեղմեք OK՝ այս մակրոյից դուրս գալու համար», vbCritical, «Անհնար է ջնջել ֆայլը»
Ելք ենթ
Վերջ: Եթե
Վերջ: Եթե

Սահմանել xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Ապա
'Պահպանել որպես PDF ֆայլ
xSht.ExportAsFixedFormat Տեսակ՝=xlTypePDF, Ֆայլի անուն՝=xԹղթապանակ, Որակ՝=xlQualityStandard

«Ստեղծեք Outlook էլ
Սահմանել xOutlookObj = CreateObject («Outlook.Application»)
Սահմանել xEmailObj = xOutlookObj.CreateItem(0)
xEmailObj-ի հետ
.Dուցադրել
Դեպի = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Կցորդներ.Ավելացնել xFolder
Եթե ​​DisplayEmail = Կեղծ, ապա
'.Ուղարկել
Վերջ: Եթե
Վերջ
Ուրիշ
MsgBox «Ակտիվ աշխատանքային թերթիկը չի կարող դատարկ լինել»
Ելք ենթ
Վերջ: Եթե
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես հենց նոր փորձեցի այս կոդը իմ աշխատաթերթերից մեկում և ունեմ տպելու տարածքներ, որպեսզի ներքևում գտնվող լրացուցիչ նյութերը չհայտնվեն pdf-ում: Փորձիր!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi
Շատ շնորհակալություն օրենսգրքի համար, բայց հնարավո՞ր է PDF-ն ավտոմատ կերպով պահպանել նույն տեղում, ինչ ակտիվ Excel ֆայլը և նույն ֆայլի անունով, ինչ ակտիվ Excel ֆայլը:
Many thanks.
ձող
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More

Հետեւեք մեզ

Հեղինակային իրավունքի © 2009 - www.extendoffice.com. | Բոլոր իրավունքները պաշտպանված են. Powered by ExtendOffice. | | Կայքի քարտեզ
Microsoft- ը և Office- ի պատկերանշանը հանդիսանում են Microsoft Corporation- ի ապրանքային նշաններ կամ գրանցված ապրանքային նշաններ ԱՄՆ-ում և (կամ) այլ երկրներում:
Պաշտպանված է Sectigo SSL- ի կողմից