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

Sut i gadw taflen waith fel ffeil PDF a'i hanfon trwy e-bost fel atodiad trwy Outlook?

Mewn rhai achosion, efallai y bydd angen i chi anfon taflen waith fel ffeil PDF trwy Outlook. Fel arfer, mae'n rhaid i chi gadw'r daflen waith â llaw fel ffeil PDF, yna creu e-bost newydd gyda'r ffeil PDF hon fel atodiad yn eich Outlook a'i hanfon o'r diwedd. Mae'n cymryd llawer o amser i'w gyflawni â llaw gam wrth gam. Yn yr erthygl hon, byddwn yn dangos i chi sut i arbed taflen waith yn gyflym fel ffeil PDF a'i hanfon yn awtomatig fel atodiad trwy Outlook yn Excel.

Cadwch daflen waith fel ffeil PDF a'i hanfon trwy e-bost fel atodiad gyda chod VBA


Cadwch daflen waith fel ffeil PDF a'i hanfon trwy e-bost fel atodiad gyda chod VBA

Gallwch redeg y cod VBA isod i arbed taflen waith weithredol yn awtomatig fel ffeil PDF, ac yna ei e-bostio fel atodiad trwy Outlook. Gwnewch fel a ganlyn.

1. Agorwch y daflen waith y byddwch yn ei chadw fel PDF a'i hanfon, yna pwyswch y Alt + F11 allweddi ar yr un pryd i agor y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

2. Yn y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, cliciwch Mewnosod > Modiwlau. Yna copïwch a gludwch y cod VBA isod i'r Côd ffenestr. Gweler y screenshot:

Cod VBA: Cadwch daflen waith fel ffeil PDF a'i hanfon trwy e-bost fel atodiad

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. Gwasgwch y F5 allwedd i redeg y cod. Yn y Pori blwch deialog, dewiswch ffolder i gadw'r ffeil PDF hon, ac yna cliciwch ar y OK botwm.

Nodiadau:

1. Nawr mae'r daflen waith weithredol wedi'i chadw fel ffeil PDF. Ac mae'r ffeil PDF wedi'i henwi gydag enw'r daflen waith.
2. Os yw'r daflen waith weithredol yn wag, fe gewch flwch deialog fel isod dangosir y llun ar ôl clicio ar y OK botwm.

4. Nawr mae e-bost Outlook newydd yn cael ei greu a gallwch weld bod y ffeil PDF wedi'i rhestru fel atodiad yn y ffeil Atodedig. Gweler y screenshot:

5. Cyfansoddwch yr e-bost hwn ac yna ei anfon.
6. Dim ond pan fyddwch chi'n defnyddio Outlook fel eich rhaglen bost y mae'r cod hwn ar gael.

Yn hawdd arbed taflen waith neu daflenni gwaith lluosog fel ffeiliau PDF ar wahân ar unwaith:

Mae practis meddygol Llyfr Gwaith Hollti cyfleustodau Kutools ar gyfer Excel gall eich helpu i arbed taflen waith neu daflenni gwaith lluosog yn hawdd fel ffeiliau PDF ar wahân ar unwaith fel y dangosir isod. Dadlwythwch a rhowch gynnig arni nawr! (30- llwybr diwrnod am ddim)


Erthyglau perthnasol:


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Office / Excel 2007-2021 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (63)
Wedi graddio 5 allan o 5 · Graddfeydd 1
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae hyn yn gweithio'n wych i mi ond a oes ffordd i ddewis lleoliad ffolder yn awtomatig yn hytrach na dewis â llaw? Rwy'n gobeithio gwneud hyn am 40 tudalen ar unwaith.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hefyd yn gobeithio gweld ateb i'r rhifyn hwn! Diolch am y cymorth!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwyf wedi ceisio gludo hwn i fodiwl newydd ac rwy'n cael gwall Llunio: Is-swyddogaeth neu Is-swyddogaeth heb ei ddiffinio. Helpwch os gwelwch yn dda.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Darren,
Pa fersiwn Office ydych chi'n ei ddefnyddio?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Swyddfa 360
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Yr un mater
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut fyddwn i'n golygu'r sgript VBA uchod fel ei fod yn ychwanegu stamp dyddiad ac amser i enw'r ffeil fel nad yw'n parhau i drosysgrifo'r hyn sydd eisoes wedi'i gadw?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Annwyl Michael,
Rhedwch y cod VBA isod i ddatrys y broblem.

Is-gadwpdfandanfon()
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xStr Fel Llinyn

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

Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
xStr = Fformat(Nawr(), "bbbb-mm-dd-hh-mm-ss")
xFolder = xFolder + "\" +xSht.Name+" -" +xStr + ".pdf"

'Gwiriwch a yw'r ffeil yn bodoli'n barod
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
'Cadw fel ffeil PDF
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.i=""
.CC = ""
.Subject=xSht.Name+"-"+xStr+".pdf"
.Atodiadau.Ychwanegu xFfolder
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,

Mae'n wych iawn ac yn gweithio'n berffaith i mi. Angen mwy o help i ychwanegu:

1. yn "I" Rwyf am roi dolen i gell arbennig o ddalen Actif fel doeth yn CC ac yn BCC hoffwn ychwanegu dolen dalen weithredol
2. mewn corff e-bost fi angen i nodi rhai testun safonol.

Byddaf yn wych lawn i chi am eich cymorth.

diolch
Parag
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Parag Somani,
Gall y cod VBA isod eich helpu. Newidiwch y meysydd .To, .CC, .BCC a .Body yn seiliedig ar eich anghenion.

Is-gadwpdfandanfon()
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xStr Fel Llinyn

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

Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
xStr = Fformat(Nawr(), "bbbb-mm-dd-hh-mm-ss")
xFolder = xFolder + "\" +xSht.Name+" -" +xStr + ".pdf"

'Gwiriwch a yw'r ffeil yn bodoli'n barod
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
'Cadw fel ffeil PDF
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.To = Ystod ("A8")
.CC = Ystod ("A9")
.BCC = Ystod ("A10")
.Subject=xSht.Name+"-"+xStr+".pdf"
.Body = "Annwyl" _
& vbNewLine & vbNewLine&_
msgstr "E-bost prawf yw hwn" &_
"anfon Excel"
.Atodiadau.Ychwanegu xFfolder
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwyf wedi bod yn ceisio defnyddio'r Ystod ar gyfer "I", "CC", nid yw'n codi'r gwerthoedd o'r gell ddynodedig. A allwch chi helpu ar hyn os gwelwch yn dda?
Diolch,
Mehul
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,

Mae'n wych iawn ac yn gweithio'n berffaith i mi. Angen mwy o help i ychwanegu:

1. yn "I" Rwyf am roi dolen i gell arbennig o ddalen Actif fel doeth yn CC ac yn BCC hoffwn ychwanegu dolen dalen weithredol
2. mewn corff e-bost fi angen i nodi rhai testun safonol.

Byddaf yn wych lawn i chi am eich cymorth.

diolch
Parag
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,

Mae'n wych iawn ac yn gweithio'n berffaith i mi. Angen mwy o help i ychwanegu:

1. yn "I" Rwyf am roi dolen i gell arbennig o ddalen Actif fel doeth yn CC ac yn BCC hoffwn ychwanegu dolen dalen weithredol
2. mewn corff e-bost fi angen i nodi rhai testun safonol.

Byddaf yn wych lawn i chi am eich cymorth.

diolch
Parag
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut alla i ychwanegu taflen 2 enghreifftiol o'r llyfr gwaith fel pdf?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Armin,
Mae angen ichi agor y Daflen 2 yn eich llyfr gwaith yn gyntaf ac yna rhedeg y cod VBA gyda'r camau uchod i'w gael i lawr.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut byddwn i'n golygu'r sgript VBA uchod fel bod enw'r ffeil yn cael ei gadw fel cell benodol a ddewiswyd o fewn y daflen gyfredol, er enghraifft cell A1?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Tom.
Mae'n ddrwg gennym ni all helpu gyda hyn.
Croeso i bostio unrhyw gwestiwn yn ein fforwm: https://www.extendoffice.com/forum.html
Byddwch yn cael mwy o gefnogaeth Excel gan weithiwr proffesiynol Excel neu gefnogwyr Excel eraill.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, sut alla i arbed ac anfon y pdf wit enw'r llyfr gwaith gyda'r cod VBA cyfredol? beth ydw i'n ei ddefnyddio yn lle xSht.Name
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi James,
Ydych chi am anfon y daflen waith weithredol fel pdf a'i henwi fel enw'r llyfr gwaith?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch mae'n gweithio.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut alla i wneud iddo ddileu'r pdf sydd wedi'i gadw ar ôl iddo anfon e-bost ato?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Jason,
Mae'n ddrwg gennym ni all eich helpu gyda hynny eto. Mae angen i chi ei ddileu â llaw ar ôl ei e-bostio.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo,

A yw'n bosibl dod o hyd i'r enw ar gyfer pdf o gell? Ex. Cell H4


Ac yng Nghell H4 rydw i eisiau iddo gasglu o dair cell wahanol. Ydy hyn yn bosib?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae hyn yn bosibl. Gwnewch newidynnau ar wahân i ddal y gwerth o'r celloedd ac yna defnyddiwch y newidynnau hynny wrth osod xFolder.
Defnyddiais y gwerth o gell yn fy nhaflen ynghyd â dyddiad heddiw. Er hynny, fe allech chi wneud gwerthoedd celloedd lluosog yn hawdd.

Dyma beth a ychwanegais:
Dim xMemberName Fel Llinyn
Dim xFileDate Fel Llinyn

xMemberName = Ystod ("H3").Gwerth
xFileDate = Fformat(Nawr, "mm-dd")

xFolder = xFolder + "\" xMemberName + xFileDate + ".pdf"
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Yr wyf yn cael gwall pan geisiaf hyn, ble yn y cod y dylid gosod hwn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Crystal,



Mae'n wych iawn ac yn gweithio'n berffaith i mi. Angen mwy o help i ychwanegu:

1. yn "Corff" Rwyf am roi dolen i gell arbennig o ddalen Actif. Ymhellach Hoffai Boldio'r testun.

diolch

Regards

Kishore Kumar
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,

Ydych chi'n bwriadu ychwanegu gwerth y gell yn awtomatig i'r corff post a'i roi mewn print trwm? Gan dybio eich bod yn ychwanegu gwerth C4 at y corff post. Cymhwyswch y cod isod.

Is-gadwpdfandanfon()

Dim xSht Fel Taflen Waith

Dim xFileDlg Fel FfeilDialog

Dim xFolder Fel Llinyn

Dim xYesorNo Fel Cyfanrif

Dim xOutlookObj Fel Gwrthrych

Dim xEmailObj Fel Gwrthrych

Dim xUsedRng Fel Ystod



Gosod xSht = ActiveSheet

Gosod xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)



Os xFileDlg.Show = Gwir Yna

xFolder = xFileDlg.SelectedItems(1)

arall

msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"

Is Allanfa

Gorffennwch Os

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



'Gwiriwch a yw'r ffeil yn bodoli'n barod

Os Len(Dir(xFolder)) > 0 Yna

xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _

vbYesNo + vbQuestion, "Ffeil Bodoli")

Ar Ail-ddechrau Gwall Nesaf

Os xYesorNo = vbYes Yna

Lladd xFolder

arall

msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _

& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"

Is Allanfa

Gorffennwch Os

If Err.Number <> 0 Yna

msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _

& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"

Is Allanfa

Gorffennwch Os

Gorffennwch Os



Gosod xUsedRng = xSht.UsedRange

If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna

'Cadw fel ffeil PDF

xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard



'Creu e-bost Outlook

Gosod xOutlookObj = CreateObject ("Outlook.Application")

Gosod xEmailObj = xOutlookObj.CreateItem(0)

Gyda xEmailObj

.Arddangos

.i=""

.CC = ""

.Subject = xSht.Name + ".pdf"

.Atodiadau.Ychwanegu xFfolder

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

Os DisplayEmail = Gau Yna

'.Anfon

Gorffennwch Os

Diwedd Gyda

arall

msgstr "Ni all y daflen waith weithredol fod yn wag"

Is Allanfa

Gorffennwch Os

Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Pe bawn i eisiau iddo gadw'n awtomatig mewn ffolder benodol bob tro (gan ddileu'r angen i'r defnyddiwr ddewis y ffolder), sut byddwn i'n gwneud hynny?
Ex. C: Anfonebau / GogleddAmerica / Cleientiaid
Gwerthfawrogir cymorth yn fawr.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Geoff,
Ydych chi'n golygu arbed y daflen waith fel ffeil pdf a'i chadw mewn ffolder benodol heb ei hanfon?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Rwy'n meddwl bod Geoff yn golygu gallu pennu ffolder benodol yn y cod y mae'r pdf yn cael ei gadw iddo bob tro yn hytrach na gorfod dewis y lleoliad â llaw. Yna mae'r pdf yn cael ei e-bostio o'r ffolder penodol hwnnw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch Jeremy.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Geoff, Os ydych chi am gadw'r ffeil pdf yn awtomatig i ffolder penodol yn hytrach na dewis y lleoliad â llaw, rhowch gynnig ar y cod isod. Peidiwch ag anghofio newid y llwybr ffolder yn y cod.
Is-ArbedAsPDFandSend()
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xPath Fel Llinyn
Gosod xSht = ActiveSheet
xPath = "C:\Users\Win10x64Test\Desktop\taflen waith i pdf" 'yma "taflen waith i pdf" yw'r ffolder cyrchfan i gadw'r ffeiliau pdf
xFolder = xPath + "\" +xSht.Name + ".pdf"
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
'Cadw fel ffeil PDF
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.i=""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Atodiadau.Ychwanegu xFfolder
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae'r cod hwn yn gweithio'n wych ac eithrio fy mod am i'r daflen waith gael ei chadw fel enw'r ddalen + dyddiad (hy. Taflen 1 Hydref 1 2020); ar fwrdd gwaith y defnyddiwr (bydd hwn yn cael ei ddefnyddio gan bobl lluosog a gall eu llwybrau amrywio ychydig). Os yn bosibl, rwyf am fewnosod .jpg yn y corff hefyd... mae'r JPG wedi'i leoli y tu mewn i'r daflen waith (y tu allan i'r ardal brint) ac mae'r ddelwedd yn cael ei storio ar weinydd a rennir... er bod y llwybr i'r gweinydd yn amrywio yn ôl defnyddiwr (ar gyfer y rhan fwyaf mae'n yriant "T" ar gyfer rhai gyriant "U")
a ellir gwneud hyn? os gwelwch yn dda a diolch filiwn o weithiau.
Lleihawyd y sylw hwn gan y safonwr ar y wefan

Helo, mae'n gweithio'n wych diolch am rannu, Dim ond angen un help.
Os ydw i eisiau arbed ffeil PDF gydag enw wedi'i addasu (opsiwn i deipio enw'r ffeil yn SaveAs blwch deialog), gan fod defnyddiwr yn defnyddio'r opsiwn hwn mewn templed ffurflen lle mae ffurflenni wedi'u cadw fel PDF gydag enw unigryw.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, rhowch gynnig ar y cod VBA isod. Ar ôl rhedeg y cod, dewiswch ffolder i arbed y ffeil PDF, yna bydd blwch deialog yn ymddangos i chi nodi enw'r ffeil. Is-gadwpdfandanfon()
'Diweddarwyd gan Extendoffice 20210209
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xStrName Fel Llinyn
Dim xV Fel Amrywiad

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

Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
xStrName = ""
xV = Application.InputBox ("Rhowch enw'r ffeil:"", "Kutools ar gyfer Excel", , , , , , 2)
Os xV = Gau Yna
Is Allanfa
Gorffennwch Os
xStrName = xV
Os xStrName = " " Yna
MsgBox ("Dim enw ffeil wedi'i nodi, yn gadael y broses!")
Is Allanfa
Gorffennwch Os

xFolder = xFolder + "\" +xStrName + ".pdf"
'Gwiriwch a yw'r ffeil yn bodoli'n barod
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
'Cadw fel ffeil PDF
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.i=""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Atodiadau.Ychwanegu xFfolder
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,
Os oes gennyf ddwy ddalen yn y ffeil, a hoffwn redeg y macro hwn ar un ddalen (trwy wasgu botwm) ond anfon un arall, sut alla i ei gael?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, hoffwn i arbed hyn mewn lleoliad ffeil penodol, gyda'r enw yn seiliedig ar y gwerth yn cell C30. Rwyf wedi rhoi cynnig ar ychydig o opsiynau, ond dal i gael diffygion.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo hein, efallai y gall y cod isod helpu. Ar ôl rhedeg y cod, dewiswch ffolder penodol i arbed y ffeil PDF, yna bydd blwch deialog yn ymddangos i chi nodi enw'r ffeil. Is-gadwpdfandanfon()
'Diweddarwyd gan Extendoffice 20210209
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xStrName Fel Llinyn
Dim xV Fel Amrywiad

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

Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
xStrName = ""
xV = Application.InputBox ("Rhowch enw'r ffeil:"", "Kutools ar gyfer Excel", , , , , , 2)
Os xV = Gau Yna
Is Allanfa
Gorffennwch Os
xStrName = xV
Os xStrName = " " Yna
MsgBox ("Dim enw ffeil wedi'i nodi, yn gadael y broses!")
Is Allanfa
Gorffennwch Os

xFolder = xFolder + "\" +xStrName + ".pdf"
'Gwiriwch a yw'r ffeil yn bodoli'n barod
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
'Cadw fel ffeil PDF
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.i=""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Atodiadau.Ychwanegu xFfolder
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch am hynny, mae hynny'n wych, ond rwyf am i'r ddalen gael ei henwi yn unol â chell A1 ar ddalen 1. y lle i arbed yn unol â A1 ar ddalen 2 er enghraifft C:\Users\peete\Dropbox\Screenshots, ac anfon e-bost at cyfeiriad e-bost ar daflen A3 2 yr hyn yr wyf wedi gweithio allan yn barod.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch am hynny, mae hynny'n wych, ond rwyf am i'r ddalen gael ei henwi yn unol â chell A1 ar ddalen 1. y lle i arbed yn unol â A1 ar ddalen 2 er enghraifft C:\Users\peete\Dropbox\Screenshots, ond gall newid pryd defnyddio'r ffeil, ac e-bost anfon i'r cyfeiriad e-bost ar daflen A3 2 yr hyn yr wyf wedi gweithio allan yn barod.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi grisial , cod ardderchog diolch am rannu.A oes ffordd i ddewis taflenni lluosrifau (o'r un llyfr gwaith) i arbed pob un fel PDF annibynnol ac yna eu hanfon i gyd ynghlwm mewn un e-bost?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Gall y cod VBA isod wneud ffafr i chi, os gwelwch yn dda gael try.Yn y llinell ddeuddegfed y cod, os gwelwch yn dda yn lle'r enwau taflen gyda'r enwau dalen gwirioneddol yn eich achos chi.
Is-gadwpdfandsend1()
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo, I, xNum Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xArrShetts Fel Amrywiad
Dim xPDFNameAddress Fel Llinynnol
Dim xStr Fel Llinyn
xArrShetts = Arae("prawf", "Taflen 1", "Taflen 2") 'Rhowch yr enwau dalennau y byddwch yn eu hanfon fel ffeiliau pdf wedi'u hamgáu gyda dyfynodau a'u gwahanu â choma. Sicrhewch nad oes nodau arbennig fel \/:"*<>| yn enw'r ffeil.

Ar gyfer I = 0 I UBound(xArrShetts)
Ar Ail-ddechrau Gwall Nesaf
Gosod xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))
Os xSht.Name <> xArrShetts(I) Yna
MsgBox "Heb ganfod taflen waith, gweithrediad ymadael:" & vbCrLf & vbCrLf & xArrShetts(I), vbInformation, "Kutools for Excel"
Is Allanfa
Gorffennwch Os
Digwyddiadau


Gosod xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
'Gwiriwch a yw'r ffeil yn bodoli'n barod
xYesorNo = MsgBox( "Os oes ffeiliau un enw yn bodoli yn y ffolder cyrchfan, bydd ôl-ddodiad rhif yn cael ei ychwanegu at enw'r ffeil yn awtomatig i wahaniaethu rhwng y dyblyg" & vbCrLf & vbCrLf & "Cliciwch Ie i barhau, cliciwch Na i ganslo", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Os xYesorNo <> vbYes Yna Gadael Is
Ar gyfer I = 0 I UBound(xArrShetts)
Gosod xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))

xStr = xFolder & "\" &xSht.Name&" .pdf"
xNum = 1
Tra Ddim (Dir(xStr, vbDirectory) = vbNullString)
xStr=xFolder &"\"&xSht.Name&"_"&xNum&".pdf"
xNum = xNum + 1
Wend
Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xStr, Ansawdd:=xlQualityStandard
arall

Gorffennwch Os
xArrShetts(I) = xStr
Digwyddiadau

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.i=""
.CC = ""
.Subject = "????"
Ar gyfer I = 0 I UBound(xArrShetts)
.Atodiadau.Ychwanegu xArrShetts(I)
Digwyddiadau
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Yr un newid yr wyf yn cael trafferth ag ef yw creu e-bost ar wahân ar gyfer pob dogfen pdf a grëwyd.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, I greu e-bost ar wahân ar gyfer pob dogfen pdf, gallwch redeg y VBA a ddarperir yn y post â llaw mewn gwahanol daflenni gwaith i'w wneud.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae gen i fwy na 100 o daflenni gwaith yn y llyfr gwaith, a fydd wedyn yn golygu bod yn rhaid i mi redeg y VBA fwy na 100 gwaith, sy'n cymryd llawer o amser.  
Rwyf wedi llwyddo i rannu fy llyfr gwaith yn y daflen luosog ac yna gallaf drosi pob taflen waith yn ddogfen PDF unigol.
Yr ateb yr wyf yn edrych amdano yw e-bostio pob dogfen PDF ar wahân tra bod y broses uchod yn rhedeg.
Gyda hyn y VBA rydw i'n ei redeg ar hyn o bryd:
Is-gadwpdfandsend1()
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo, I, xNum Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xArrShetts Fel Amrywiad
Dim xPDFNameAddress Fel Llinynnol
Dim xStr Fel Llinyn
xArrShetts = Array("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", "
"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", "
"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", "
"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", "
"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", "
"02563445", "02563737", "02563828", "02563852", "02563861", "02563971", "02564042", _
" 02564315", "02564366", "02564832", "02564909", "02565059", "02565205") 'Rhowch enwau'r dalennau y byddwch yn eu hanfon fel ffeiliau pdf wedi'u hamgáu gyda dyfynodau a'u gwahanu â choma. Sicrhewch nad oes nodau arbennig fel \/:"*<>| yn enw'r ffeil.

Ar gyfer I = 0 I UBound(xArrShetts)
Ar Ail-ddechrau Gwall Nesaf
Gosod xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))
Os xSht.Name <> xArrShetts(I) Yna
MsgBox "Heb ganfod taflen waith, gweithrediad ymadael:" & vbCrLf & vbCrLf & xArrShetts(I), vbInformation, "Kutools for Excel"
Is Allanfa
Gorffennwch Os
Digwyddiadau


Gosod xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
'Gwiriwch a yw'r ffeil yn bodoli'n barod
xYesorNo = MsgBox( "Os oes ffeiliau un enw yn bodoli yn y ffolder cyrchfan, bydd ôl-ddodiad rhif yn cael ei ychwanegu at enw'r ffeil yn awtomatig i wahaniaethu rhwng y dyblyg" & vbCrLf & vbCrLf & "Cliciwch Ie i barhau, cliciwch Na i ganslo", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Os xYesorNo <> vbYes Yna Gadael Is
Ar gyfer I = 0 I UBound(xArrShetts)
Gosod xSht = Application.ActiveWorkbook.Worksheets(xArrShetts(I))

xStr = xFolder & "\" &xSht.Name&" .pdf"
xNum = 1
Tra Ddim (Dir(xStr, vbDirectory) = vbNullString)
xStr=xFolder &"\"&xSht.Name&"_"&xNum&".pdf"
xNum = xNum + 1
Wend
Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xStr, Ansawdd:=xlQualityStandard
arall

Gorffennwch Os
xArrShetts(I) = xStr
Digwyddiadau

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.To = "Ctracklegal@ctrack.com"
.CC = ""
.Subject = "????"
Ar gyfer I = 0 I UBound(xArrShetts)
Ar Ail-ddechrau Gwall Nesaf
.Atodiadau.Ychwanegu xArrShetts(I)
Digwyddiadau
Os DisplayEmail = Gau Yna
.Anfon
Is Allanfa
Gorffennwch Os
Diwedd Gyda


Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo @crystal
Mae hyn yn fab - y peth o allweddol dwi'n cael trafferth ag e yw enw'r ffeil - hoffwn i enw'r ffeil dynnu o gell yn y daflen waith yn hytrach na defnyddio enw'r tab. Rwyf eisoes wedi golygu'r cod i'w gadw'n awtomatig i ffolder penodedig ond rwy'n cael trafferth gydag enw'r ffeil.
Unrhyw help y gallwch ei gynnig os gwelwch yn dda?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Tori,Os ydych am enwi'r ffeil PDF gyda gwerth cell penodol, rhowch gynnig ar y cod canlynol.Ar ôl rhedeg y cod a dewis ffolder i gadw'r ffeil, bydd blwch deialog arall yn ymddangos, dewiswch y gell y byddwch yn ei defnyddio y gwerth fel enw'r ffeil PDF, ac yna cliciwch OK i orffen.
Is-gadwpdfandsend2()
'Diweddarwyd gan Extendoffice 20210521
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng, xRgInser Fel Ystod
Dim xB Fel Boole
Gosod xSht = ActiveSheet
Gosod xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
xB = Gwir
Ar Ail-ddechrau Gwall Nesaf
Tra mae xB
Gosod xRgInser = Dim byd
Gosod xRgInser = Application.InputBox ("Dewiswch gell y byddwch yn defnyddio'r gwerth i enwi'r ffeil PDF:"", "Kutools ar gyfer Excel", , , , , , 8)
Os yw xRgInser Yn Dim Yna
MsgBox " Dim cell wedi'i dewis, gadewch y gweithrediad!" , vbInformation, "Kutools for Excel"
Is Allanfa
Gorffennwch Os
Os xRgInser.Text = "" Yna
MsgBox " Mae'r gell a ddewiswyd yn wag, ailddewiswch!" , vbInformation, "Kutools for Excel"
arall
xB = Gau
Gorffennwch Os
Wend

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

'Gwiriwch a yw'r ffeil yn bodoli'n barod
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
'Cadw fel ffeil PDF
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.i=""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Atodiadau.Ychwanegu xFfolder
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, roeddwn i angen rhywbeth tebyg felly dyma beth gefais. Mae'n cymryd y dyddiad cyfredol ac yn creu ffolder newydd gyda'r enw dyddiad mewn lleoliad penodol. Mae'n gosod y pdf y tu mewn i'r lleoliad newydd hwnnw, yna'n atodi'r pdf i e-bost newydd. Yn gweithio fel trît. Dim ond dechreuwr ydw i, felly esgusodwch fi os yw'n edrych fel llanast. :D
Is PDFTOEMAIL()
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xPath Fel Llinyn
Dim xOutMsg Fel Llinyn
Dim sFolderName Fel Llinynnol, sFolder Fel Llinynnol
Dim sFolderPath Fel Llinynnol

Gosod xSht = ActiveSheet
xFileDate = Fformat(Nawr, "dd-mm-bbbb")
sFolder = "C:" 'dyma lle mae gennych brif ffolder
sFolderName = "Wythnos yn diweddu" + Fformat(Nawr, "dd-mm-bbbb") ' ffolder i'w chreu yn y prif ffolder gyda'r enw Wythnos yn gorffen a dyddiad cyfredol
sFolderPath = "C:" &sFolderName ' prif ffolder eto i greu y llwybr newydd gan gynnwys y ffolder newydd
Set oFSO = CreateObject ("Scripting.FileSystemObject")
Os oFSO.FolderExists(sFolderPath) Yna
msgstr "Mae ffolder yn bodoli'n barod!" & vbCrLf & vbCrLf & sFolderPath, vbInformation, "INFO"
arall
Llwybr Ffolder MkDir
msgstr "Mae ffolder newydd wedi'i chreu!" & vbCrLf & vbCrLf & sFolderPath, vbInformation, "INFO"
Gorffennwch Os
xPath = sFolderPath
xFolder = xPath + "\" +xSht.Name+"_" +xFileDate + ".pdf"
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
xOutMsg = " Gweler ynghlwm Mae'r e-bost a'r atodiad hwn wedi'u cynhyrchu'n awtomatig "
'yn ychwanegu nodyn bod yr e-bost wedi'i gynhyrchu'n awtomatig

Gyda xEmailObj
.Arddangos
.To = "" 'ychwanegwch eich e-byst eich hun
.CC = ""
.Subject = xSht.Name + " PDF ar gyfer wythnos yn diweddu " + xFileDate + " - Lleoliad " ' pwnc yn cynnwys enw dalen, pdf, dyddiad a lleoliad, gellir golygu hwn yn ôl yr angen
.Atodiadau.Ychwanegu xFfolder
.HTMLBody = xOutMsg & .HTMLBody
Os DisplayEmail = Gau Yna
' .Send <--- Yma os ydych yn dileu'r collnod bydd yr e-bost yn cael ei anfon yn awtomatig, felly byddwch yn ofalus
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut mae golygu'r cod hwn i gadw celloedd ("a1:r99") yn unig i'w cadw fel y PDF. Mae gen i bethau ychwanegol ar yr ochrau nad ydw i eisiau yn fy nogfen PDF.
Is-gadwpdfandanfon()
'Diweddarwyd gan Extendoffice 20210209
Dim xSht Fel Taflen Waith
Dim xFileDlg Fel FfeilDialog
Dim xFolder Fel Llinyn
Dim xYesorNo Fel Cyfanrif
Dim xOutlookObj Fel Gwrthrych
Dim xEmailObj Fel Gwrthrych
Dim xUsedRng Fel Ystod
Dim xStrName Fel Llinyn
Dim xV Fel Amrywiad

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

Os xFileDlg.Show = Gwir Yna
xFolder = xFileDlg.SelectedItems(1)
arall
msgstr "Rhaid i chi nodi ffolder i gadw'r PDF ynddo." & vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Rhaid Nodi Ffolder Cyrchfan"
Is Allanfa
Gorffennwch Os
xStrName = ""
xV = Application.InputBox ("Rhowch enw'r ffeil:"", "Kutools ar gyfer Excel", , , , , , 2)
Os xV = Gau Yna
Is Allanfa
Gorffennwch Os
xStrName = xV
Os xStrName = " " Yna
MsgBox ("Dim enw ffeil wedi'i nodi, yn gadael y broses!")
Is Allanfa
Gorffennwch Os

xFolder = xFolder + "\" +xStrName + ".pdf"
'Gwiriwch a yw'r ffeil yn bodoli'n barod
Os Len(Dir(xFolder)) > 0 Yna
xYesorNo = MsgBox(xFolder &" eisoes yn bodoli." & vbCrLf & vbCrLf & "Ydych chi am ei drosysgrifo?", _
vbYesNo + vbQuestion, "Ffeil Bodoli")
Ar Ail-ddechrau Gwall Nesaf
Os xYesorNo = vbYes Yna
Lladd xFolder
arall
msgstr "Os nad ydych yn trosysgrifo'r PDF presennol, ni allaf barhau." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Gadael Macro"
Is Allanfa
Gorffennwch Os
If Err.Number <> 0 Yna
msgstr "Methu dileu ffeil sy'n bodoli. Gwnewch yn siŵr nad yw'r ffeil yn agored neu ysgrifennwch wedi'i diogelu." _
& vbCrLf & vbCrLf & "Pwyswch OK i adael y macro hwn.", vbCritical, "Methu Dileu Ffeil"
Is Allanfa
Gorffennwch Os
Gorffennwch Os

Gosod xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Yna
'Cadw fel ffeil PDF
xSht.ExportAsFixedFormat Math:=xlTypePDF, Enw Ffeil:=xFolder, Ansawdd:=xlQualityStandard

'Creu e-bost Outlook
Gosod xOutlookObj = CreateObject ("Outlook.Application")
Gosod xEmailObj = xOutlookObj.CreateItem(0)
Gyda xEmailObj
.Arddangos
.i=""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Atodiadau.Ychwanegu xFfolder
Os DisplayEmail = Gau Yna
'.Anfon
Gorffennwch Os
Diwedd Gyda
arall
msgstr "Ni all y daflen waith weithredol fod yn wag"
Is Allanfa
Gorffennwch Os
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, ceisiais y cod hwn ar un o'm taflenni gwaith ac mae gennyf ardaloedd argraffu wedi'u gosod felly nid oedd y pethau ychwanegol ar y gwaelod yn ymddangos yn y pdf. Rhowch gynnig arni!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi
Diolch yn fawr am y Cod ond a yw'n bosibl cadw'r PDF yn awtomatig i'r un lleoliad â'r ffeil Excel weithredol a gyda'r un enw ffeil â'r ffeil Excel weithredol?
Diolch yn fawr.
Rod
Nid oes unrhyw sylwadau wedi'u postio yma eto
Llwytho mwy o
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir

Dilynwch ni

Hawlfraint © 2009 - www.extendoffice.com. | Cedwir pob hawl. Wedi ei bweru gan ExtendOffice. | Map o'r safle
Mae Microsoft a logo'r Swyddfa yn nodau masnach neu'n nodau masnach cofrestredig Microsoft Corporation yn yr Unol Daleithiau a / neu wledydd eraill.
Wedi'i warchod gan Sectigo SSL