Teagaisc Excel - Seol ríomhphoist ó Excel
De ghnáth, úsáidimid cliaint ríomhphoist ar nós Outlook, Gmail, srl. chun ríomhphoist a sheoladh. Ach, stórálann go leor daoine sonraí i leabhair oibre Excel agus caithfidh siad roinnt sonraí a sheoladh chuig daoine eile agus iad ag obair leis. Mar sin, ní mór dóibh ríomhphoist a sheoladh go díreach ó leabhar oibre Excel, rud a shábhálann an t-am a bhaineann le cliant ríomhphoist a oibriú. Léireoidh an teagasc céim ar chéim seo duit conas ríomhphoist a sheoladh ó Excel faoi choinníollacha éagsúla.
nótaí: Sula gcuirfidh tú na modhanna seo a leanas i bhfeidhm, ní mór duit cliant ríomhphoist Outlook a chumrú i do ríomhaire agus é a shocrú mar do chliant ríomhphoist réamhshocraithe.
Clár ábhair: [ Folaigh ]
1. Bunúsacha ríomhphoist a sheoladh ó Excel
Tugann an chuid seo isteach na bunghnéithe a bhaineann le ríomhphoist a sheoladh ó Excel.
1.1 Seol ríomhphoist ó Excel le feidhmeanna ionsuite Excel
Más mian leat ach ríomhphoist simplí a sheoladh ó Excel, lena n-áirítear na réimsí To, Subject, Cc agus comhlacht amháin. Is féidir leis na feidhmeanna ionsuite in Excel cabhrú leat.
1.1.1 Seol ríomhphost ó Excel le foirmle
Mar a thaispeántar sa tábla thíos, chun ríomhphoist éagsúla a sheoladh ó Excel bunaithe ar na réimsí a thugtar, is féidir leat tagairtí cille na réimsí tugtha a úsáid chun foirmlí hipearnasc éagsúla a chruthú chun é a dhéanamh. Tar éis na hipearnasc ríomhphoist a chruthú, is féidir leat cliceáil ar an hipearnasc a theastaíonn uait chun ríomhphost a sheoladh go huathoibríoch.
Nóta: Má tá níos mó ná faighteoir amháin sna réimsí To nó Cc, scar leathchoilín iad le do thoil.
Tá an chuid seo roinnte ina cheithre chuid chun a thaispeáint duit na céimeanna chun seoladh ríomhphoist, faighteoir(í) Cc, líne ábhair, agus téacs coirp a chur leis an bhfoirmle Hyperlink ar leithligh. Déan mar seo a leanas le do thoil.
Comhréir agus argóintí an HYPERLINK fheidhm atá mar seo a leanas.
Comhréire
HYPERLINK(link_location, [friendly_name])
Argóintí
1.1.1.1 Cuir seoladh ríomhphoist leis an bhfoirmle Hyperlink
Seo a úsáidimid "mailto:" mar chuid den fhoirmle chun faighteoir ríomhphoist a chur leis. Sa sampla seo, tá seoladh ríomhphoist an chéad fhaighteora i gcill B2, mar sin ní mór dúinn "mailto:" a chur leis agus tagairt a dhéanamh do chill B2.
"mailto:"&B2
1. Roghnaigh ceall chun an hipearnasc a thaispeáint. Sa chás seo, roghnaigh mé an chill F2.
2. Ansin cuir an fhoirmle seo a leanas isteach ann.
=HYPERLINK("mailto:"&B2)
nótaí: Má bhrúnn tú an Iontráil eochair, cruthófar hipearnasc mar a thaispeántar sa screenshot thíos. Nuair a chliceálann tú ar an nasc, cruthófar ríomhphost Outlook agus cuirfear seoladh ríomhphoist an fhaighteora isteach sa réimse To go huathoibríoch.
Cuirtear seoladh ríomhphoist an fhaighteora leis an bhfoirmle Hyperlink anois. Lean ar aghaidh leis na céimeanna seo a leanas le do thoil chun an líne ábhair, faighteoir(í) Cc agus corp an téacs a chur leis de réir mar is gá.
1.1.1.2 Cuir faighteoir(í) Cc leis an bhfoirmle Hyperlink
Chun faighteoir(í) Cc a chur leis an bhfeidhm Hyperlink, cuir leis le do thoil "?cc=" mar chuid den fhoirmle mar seo a leanas.
Ba cheart go mbeadh an fhoirmle i gcill F2 mar seo a leanas:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2)
1.1.1.3 Cuir líne ábhair leis an bhfoirmle Hyperlink
Chun an líne ábhair a chur leis an bhfeidhm Hyperlink, cuir leis le do thoil "&subject=" mar chuid den fhoirmle mar seo a leanas.
Ba cheart go mbeadh an chuma seo a leanas ar an bhfoirmle i gcill F2 anois:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)
1.1.1.4 Cuir corp-théacs le sosanna líne leis an bhfoirmle Hyperlink
Is é an chéim dheireanach ná an comhlacht téacs a chur leis an bhfoirmle Hyperlink. Mar a fheiceann tú sa sampla, tá dhá líne téacs in E2 scartha le briseadh líne, agus ba mhaith leat an briseadh líne a choinneáil sa chomhlacht ríomhphoist. An aithníonn Outlook an briseadh líne sa chás seo? Déanaimis seiceáil chun é.
Chun an comhlacht téacs a chur leis an bhfoirmle Hyperlink, ní mór duit a chur leis “&corp=” mar chuid den fhoirmle mar seo a leanas.
Taispeántar an fhoirmle i gcill F2 anois mar seo a leanas:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)
Nóta: Má bhrúnn tú an Iontráil eochair agus cliceáil ar an nasc. Is féidir leat a fheiceáil sa ríomhphost nua go bhfuil an t-ábhar sa chomhlacht ríomhphoist ar taispeáint sa líne chéanna.
Chun an comhlacht ríomhphoist a thaispeáint i línte ar leith, ní mór duit an t-ábhar cille a mhodhnú tríd an gcód carachtar tuairisceáin iompair a chur leis %0A chuig an téacs nuair is gá duit briseadh líne a chur isteach. Féach ar an scáileán:
1.1.1.5 Sonraigh an téacs atá le taispeáint don hipearnasc
Sna céimeanna thuas, chríochnaíomar an argóint Link_location le réimsí ríomhphoist. Anseo san alt seo, táimid chun an chéad argóint eile [friendly_name] a chríochnú.
Sa chás seo, ba mhaith liom go dtaispeánfadh an chill hipearnasc an téacs mar “Ríomhphost chuig xx”, áit arb é xx ainm an fhaighteora in A2. Mar sin, ba cheart an fhoirmle i F2 a athrú go:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)
Brúigh an Iontráil eochair chun an toradh a fháil.
Roghnaigh an chill fhoirmle seo agus tarraing a Láimhseáil AutoFill síos chun hipearnaisc ríomhphoist eile a chruthú. Féach ar an scáileán:
1.1.2 Seol ríomhphost ó Excel leis an bhfeidhm Hyperlink
Seachas an fhoirmle Hyperlink thuas a úsáid, is féidir leat hipearnasc ríomhphoist a chruthú de láimh leis an Ionsáigh Hyperlink Feidhm in Excel. Taispeánfaidh an chuid seo na céimeanna duit.
1. Cliceáil ar dheis ar ríomhphost áit ar mhaith leat hipearnasc a chur isteach, roghnaigh Nasc ón roghchlár cliceáil ar dheis.
2. Sa popping suas Cuir isteach Hyperlink bosca dialóige, ní mór duit a chumrú mar seo a leanas.
Nuair a chliceálann tú ar an hipearnasc, cruthófar ríomhphost Outlook leis na réimsí sonraithe To, Subject and Body mar a thaispeántar sa scáileán thíos.
nótaí:
1.2 Seol ríomhphost chuig faighteoirí iolracha i gcealla le script VBA
Sa sampla thuas, is féidir leat a fheiceáil seoltaí ríomhphoist iolracha ar taispeáint i gcill, scartha le leathcholúin. Má tá liosta seoltaí ríomhphoist agat mar a thaispeántar sa scáileán thíos agus gur mhaith leat ríomhphost nó ríomhphost neamhspleách a sheoladh chuig gach ceann acu, is féidir leis an gcód VBA seo a leanas bhfabhar a dhéanamh duit.
1.2.1 Seol ríomhphost chuig faighteoirí iolracha i gcealla le script VBA
1. Sa bhileog oibre ina bhfuil na seoltaí ríomhphoist go léir is mian leat an ríomhphost a sheoladh chucu. Brúigh an Eile + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
2. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúl, agus ansin greamaigh an cód seo a leanas isteach sa Modúl (Cód) fhuinneog.
Cód VBA: Seol ríomhphost chuig liosta seoltaí ríomhphoist
Sub sendmultiple()
'updateby Extendoffice 20220802
Dim xOTApp As Object
Dim xMItem As Object
Dim xCell As Range
Dim xRg As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOTApp = CreateObject("Outlook.Application")
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
Set xMItem = xOTApp.CreateItem(0)
With xMItem
.To = xEmailAddr
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
.Display
End With
End Sub
3. Brúigh an F5 eochair chun an cód a rith agus a Kutools le haghaidh Excel Tagann an bosca dialóige suas. Roghnaigh liosta na seoltaí ríomhphoist agus cliceáil OK.
Nótaí:
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
Tar éis an cód a rith, taispeántar gach seoladh ríomhphoist sa raon roghnaithe sa réimse To den fhuinneog teachtaireachta. Féach ar an scáileán:
1.2.2 Seol ríomhphoist ar leithligh chuig gach faighteoir atá liostaithe i gcealla le script VBA
Cuireann an cód thuas gach seoladh ríomhphoist sa raon roghnaithe leis an réimse To den fhuinneog teachtaireachta. Más mian leat ríomhphoist a sheoladh chuig gach seoladh ríomhphoist atá liostaithe i gcealla ar leithligh gan ligean dóibh seoltaí ríomhphoist a chéile a fheiceáil, is féidir leat triail a bhaint as an script VBA followings.
1. Sa bhileog oibre ina bhfuil na seoltaí ríomhphoist go léir is mian leat na ríomhphoist a sheoladh chucu. Brúigh an Eile + F11 eochracha do oscail an fhuinneog Microsoft Visual Basic for Applications.
2. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúil, agus ansin greamaigh an cód seo a leanas isteach i bhfuinneog an Mhodúil (Cód).
Cód VBA: Seol ríomhphoist chuig gach seoladh ríomhphoist atá liostaithe i gcealla ar leithligh
Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
Dim xRg As Range
Dim xRgEach As Range
Dim xRgVal As String
Dim xAddress As String
Dim xOutApp As Outlook.Application
Dim xMailOut As Outlook.MailItem
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
For Each xRgEach In xRg
xRgVal = xRgEach.Value
If xRgVal Like "?*@?*.?*" Then
Set xMailOut = xOutApp.CreateItem(olMailItem)
With xMailOut
.To = xRgVal
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
.Display
'.Send
End With
End If
Next
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
3. Ansin cliceáil uirlisí > Tagairtí. sa Tagairtí - VBAProject bosca dialóige, aimsigh agus seiceáil an Leabharlann Oibiachta Microsoft Outlook 16.0 bosca agus ansin cliceáil ar an OK cnaipe chun na hathruithe a shábháil.
4. Brúigh an F5 eochair chun an cód a rith agus a Kutools le haghaidh Excel Tagann an bosca dialóige suas. Roghnaigh an liosta seoltaí ríomhphoist agus cliceáil OK.
Nótaí:
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
Sa sampla seo, tá sé sheoladh ríomhphoist sa raon roghnaithe, mar sin cruthófar sé fhuinneog teachtaireacht Outlook go huathoibríoch le seoladh ríomhphoist ar leith atá liostaithe sa réimse To mar a thaispeántar sa scáileán thíos.
5. Faoi dheireadh, cliceáil Seol cnaipe chun an ríomhphost a sheoladh ceann ar cheann.
2. Cuir isteach ceangaltáin nó síniú Outlook sna ríomhphoist a sheoltar ó Excel (le scripteanna VBA)
Taispeánfaidh an chuid seo duit conas ceangaltáin nó síniú réamhshocraithe Outlook a chur isteach sna ríomhphoist a sheoltar ó Excel.
2.1 Cuir isteach ceangaltáin sna ríomhphoist a sheoltar ó Excel
Anseo déanaimid cur síos ar na cásanna éagsúla a bhaineann le ceangaltáin a chur isteach, agus is féidir leat an modh a roghnú de réir do chuid riachtanas. Sa chuid seo, is féidir leat foghlaim conas (cliceáil ar aon cheann de na naisc seo a leanas chun nascleanúint a dhéanamh chuig an modh comhfhreagrach):
2.1.1 Seol ríomhphost chuig comhad áirithe mar cheangaltán
Is féidir leat an cód VBA seo a leanas a chur i bhfeidhm chun comhad amháin nó níos mó a ríomhphost i bhfillteán mar cheangaltáin ó Excel.
1. Brúigh an Eile + F11 eochracha.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúil. Ansin greamaigh an cód VBA seo a leanas isteach i bhfuinneog an Mhodúil (Cód).
Cód VBA: Comhaid ríomhphoist i bhfillteán mar cheangaltáin ó Excel
Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
Dim xStrFile As String
Dim xFilePath As String
Dim xFileDlg As FileDialog
Dim xFileDlgItem As Variant
Dim xOutApp As Outlook.Application
Dim xMailOut As Outlook.MailItem
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
If xFileDlg.Show = -1 Then
With xMailOut
.BodyFormat = olFormatRichText
.To = ""
.Subject = "test"
.HTMLBody = "test"
For Each xFileDlgItem In xFileDlg.SelectedItems
.Attachments.Add xFileDlgItem
Next xFileDlgItem
.Display
End With
End If
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
nótaí:
3. Ansin cliceáil uirlisí > Tagairtí. sa Tagairtí - VBAProject bosca dialóige, aimsigh agus seiceáil an Leabharlann Oibiachta Microsoft Outlook 16.0 bosca agus ansin cliceáil ar an OK cnaipe chun na hathruithe a shábháil.
4. Brúigh an F5 eochair chun an cód a rith, ansin a Brabhsáil fhuinneog aníos, roghnaigh le do thoil na comhaid is gá duit a chur ag gabháil sa ríomhphost, agus ansin cliceáil OK.
Ansin pops fuinneog teachtaireacht suas. Is féidir leat a fheiceáil go bhfuil na comhaid roghnaithe ar taispeáint mar cheangaltáin sa réimse Ceangailte.
2.1.2 Seol ríomhphost chuig an mbileog oibre reatha mar cheangaltán
Más mian leat an bhileog oibre reatha a ríomhphost mar cheangaltán ó Excel, is féidir leat an script VBA a chur i bhfeidhm san alt seo.
1. Brúigh an Eile + F11 eochracha.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil isteach > Modúil. Ansin greamaigh an cód VBA seo a leanas isteach sa Modúl (Cód) fhuinneog.
Cód VBA: Ríomhphost an bhileog oibre reatha mar cheangaltán
Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte features"
.Body = "Please check and read this document."
.Attachments.Add Wb2.FullName
.Display
'.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub
Nótaí:
3. Brúigh an F5 eochair chun an cód a reáchtáil, ansin sábhálfar an bhileog oibre reatha mar leabhar oibre Excel agus cuirtear isteach go huathoibríoch i bhfuinneog teachtaireachta mar cheangaltán. Féach ar an scáileán:
Nóta: Tá an t-ainm céanna ar an leabhar oibre atá ceangailte nach bhfuil ach an bhileog oibre reatha agus an leabhar oibre bunaidh. Agus cuirtear an t-am a ritheann tú an cód leis an ainm leabhar oibre freisin.
2.1.3 Seol ríomhphost chuig an leabhar oibre reatha mar cheangaltán
Tar éis an cód VBA a fhoghlaim chun an bhileog oibre reatha a ríomhphost mar cheangaltán ó Excel, anseo cuirimid script VBA eile ar fáil chun cabhrú leat an leabhar oibre iomlán a ríomhphost mar cheangaltán. Déan mar seo a leanas le do thoil.
1. Brúigh an Eile + F11 eochracha.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúl. Ansin greamaigh an cód VBA seo a leanas isteach i bhfuinneog an Mhodúil (Cód).
Cód VBA: Ríomhphost an leabhar oibre reatha mar cheangaltán ó Excel
Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Nótaí:
3. Brúigh an F5 eochair chun an cód a rith, ansin cuirtear an leabhar oibre reatha isteach i bhfuinneog teachtaireachta mar cheangaltán go huathoibríoch. Féach ar an scáileán:
2.1.4 Seol ríomhphost chuig an leabhar oibre iomlán mar cheangaltán PDF
I gcás an chuid is mó daoine, is gnách leo leabhar oibre Excel a shábháil mar chomhad PDF agus ansin é a sheoladh mar cheangaltán chuig daoine eile. Sa chuid seo, taispeánfaidh mé bealach duit chun ríomhphoist a sheoladh go díreach ó Excel leis an leabhar oibre oscailte reatha mar cheangaltán PDF gan a bheith agat an leabhar oibre a shábháil mar chomhad PDF de láimh.
1. Brúigh an Eile + F11 eochracha.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúl. Ansin greamaigh an cód VBA seo a leanas isteach i bhfuinneog an Mhodúil (Cód).
Cód VBA: Ríomhphost an leabhar oibre iomlán mar cheangaltán PDF
Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName
Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
FilePath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FilePath
.Display 'or use .Send
End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
Nótaí:
3. Brúigh an F5 eochair chun an cód a rith. Ansin cuirtear an leabhar oibre reatha isteach go huathoibríoch i bhfuinneog teachtaireachta nua mar cheangaltán comhad PDF. Féach ar an scáileán:
2.1.5 Seol ríomhphost chuig an mbileog oibre reatha mar cheangaltán PDF
Mar shampla, tá leabhar oibre darb ainm “Díolacháin Mhíosúla”, agus tá tábla tuairisce díolacháin críochnaithe agat i mbileog oibre darb ainm “tuairisc díolacháin” agus ba mhaith leat an bhileog oibre seo a sheoladh mar chomhad PDF chuig do chomhghleacaithe. Is féidir leis an gcód VBA seo a leanas bhfabhar a thabhairt duit.
1. Brúigh an Eile + F11 eochracha.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil isteach > Modúl. Ansin greamaigh an cód VBA seo a leanas isteach i bhfuinneog an Mhodúil (Cód).
Cód VBA: Ríomhphost an bhileog oibre reatha mar cheangaltán PDF
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FileName
.Display
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Nótaí:
3. Brúigh an F5 eochair chun an cód a rith. Ansin cuirtear an bhileog oibre reatha isteach go huathoibríoch i bhfuinneog teachtaireachta nua mar cheangaltán comhad PDF. Féach ar an scáileán:
2.2 Cuir isteach síniú Outlook sna ríomhphoist a sheoltar ó Excel
Tóg an cás thuas mar shampla, cuireann tú an cód VBA thuas i bhfeidhm chun an bhileog oibre reatha a sheoladh mar cheangaltán comhad PDF ó Excel, ach ní féidir síniú Outlook a chur leis an bhfuinneog teachtaireachta. Chun síniú réamhshocraithe Outlook a choinneáil sa ríomhphost a sheoltar ó Excel, cabhróidh an modh seo a leanas.
Tá dhá chód VBA liostaithe thíos.
Cód VBA 1: Cuidíonn an cód le síniú Outlook a choinneáil.
Cód VBA 2: Cuidíonn an cód le ríomhphost a chur ar an mbileog oibre reatha mar cheangaltán PDF.
Cód VBA 1: Coinnigh síniú Outlook
.HTMLBody = "Email body" & "
" & .HTMLBody
Cód VBA 2: Ríomhphost an bhileog oibre reatha mar cheangaltán PDF
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FileName
.Display
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
1. De ghnáth, ní mór duit brúigh an Eile + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
2. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúil. Ansin greamaigh an cód VBA 2 thuas i bhfuinneog an Mhodúil (Cód).
3. Chun síniú réamhshocraithe Outlook a choinneáil sa ríomhphost a sheoltar ó Excel, ní mór duit an cód VBA 2 a mhodhnú mar seo a leanas:
Seo é an cód iomlán tar éis modhnú.
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.Display
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.HTMLBody = "Email body" & "
" & .HTMLBody
.Attachments.Add FileName
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
4. Brúigh an F5 eochair chun an cód a rith. Ansin gheobhaidh tú fuinneog teachtaireachta nua leis an mbileog oibre reatha ceangailte mar chomhad PDF, agus cuirfear isteach síniú réamhshocraithe Outlook ag deireadh an chomhlachta ríomhphoist go huathoibríoch.
3. Seol ríomhphoist ó Excel go huathoibríoch nuair a chomhlíontar coinníoll (le scripteanna VBA)
Sna samplaí thuas, ní mór duit an cód a rith de láimh chun an seachadadh ríomhphoist a bhaint amach. Más mian leat an cód a spreagadh go huathoibríoch nuair a chomhlíontar coinníoll áirithe, mar shampla nuair a shroicheann ceall luach áirithe, nuair a athraíonn luach cille, nuair a shroichtear dáta, etc., seolfar an ríomhphost go huathoibríoch. Liostaíonn an chuid seo na coinníollacha a ndearna úsáideoirí Excel cuardach orthu go minic i Google chun cabhrú leat ríomhphoist a sheoladh go huathoibríoch ó Excel nuair a chomhlíontar coinníoll áirithe.
3.1 Seol ríomhphost go huathoibríoch nuair a shroicheann cill luach áirithe
Mar a thaispeántar sa screenshot thíos, is dócha go bhfuil tábla díolacháin agat le cill D6 ina bhfuil an t-iomlán díolacháin. Ba mhaith leat ríomhphost a sheoladh go huathoibríoch chuig do bhainisteoir bunaithe ar an iomlán díolacháin, mar shampla, r-phost a chruthú nó a sheoladh go huathoibríoch nuair a sháraíonn an t-iomlán díolacháin 10000 ach má tá an t-iomlán díolacháin cothrom le nó níos lú ná 10000, ní dhéantar aon ghníomh.
1. Sa bhileog oibre tá an tábla díola, cliceáil ar dheis ar an táb bileog agus cliceáil Féach ar an gcód ón roghchlár cliceáil ar dheis.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog, greamaigh an cód VBA seo a leanas sa Bileog (Cód) fhuinneog.
Cód VBA: Seol ríomhphost go huathoibríoch nuair a shroicheann ceall luach áirithe in Excel
Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub
nótaí:
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
As seo amach, nuair a sháraíonn an luach i gcill D6 10000, cruthófar ríomhphost mar a thaispeántar sa screenshot thíos.
3.2 Seol ríomhphost go huathoibríoch nuair a athraíonn luach cille
Mar a thaispeántar sa screenshot thíos, is dócha go bhfaigheann tú leabhar oibre ina bhfuil díolacháin mhíosúla i mbileoga oibre éagsúla agus an t-iomlán díolacháin i mbileog oibre. Ní mór duit an t-iomlán díolacháin a fhíorú agus má athraítear an t-iomlán díolacháin, seol an leabhar oibre ar ais chuig an seoltóir agus cuir in iúl don seoltóir go bhfuil an chill athraithe.
1. Sa bhileog oibre tá an tábla díola, cliceáil ar dheis ar an táb bileog agus cliceáil Féach ar an gcód ón roghchlár cliceáil ar dheis.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog, greamaigh an cód VBA seo a leanas sa fhuinneog Bileog (Cód).
Cód VBA: Seol ríomhphost go huathoibríoch nuair a athraíonn luach cille sonraithe
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")
Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If
ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
nótaí: Sa chód,
As seo amach, nuair a athraíonn an luach i gcill B14, cruthófar teachtaireacht Outlook go huathoibríoch mar a thaispeántar sa scáileán thíos.
3.3 Seol ríomhphost go huathoibríoch nuair a shábhálfar leabhar oibre
Má tá leabhar oibre agat a chaithfear a roinnt le daoine eile tar éis é a mhodhnú, de ghnáth ní mór duit an leabhar oibre a shábháil, an cliant ríomhphoist a sheoladh, ríomhphost nua a chruthú leis an leabhar oibre seo ceangailte, cum na réimsí comhfhreagracha ansin seol an ríomhphost. Taispeánfaidh an chuid seo modh duit chun ríomhphost a chruthú go huathoibríoch gach uair a shábhálann tú an leabhar oibre. Déan mar seo a leanas le do thoil.
1. Brúigh an Eile + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
2. Sa fhuinneog seo, cliceáil faoi dhó An Leabhar Oibre seo sa tionscadal pane, ansin greamaigh an cód VBA seo a leanas sa An Leabhar Oibre seo (Cód) fhuinneog.
Cód VBA: Seol ríomhphost go huathoibríoch nuair a shábhálfar leabhar oibre
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
Dim xOutApp As Object
Dim xMailItem As Object
Dim xName As String
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xName = ActiveWorkbook.FullName
With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "The workbook has been updated"
.Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
.Attachments.Add xName
.Display
'.send
End With
Set xMailItem = Nothing
Set xOutApp = Nothing
End Sub
nótaí: Sa chód,
3. As seo amach, nuair a shábháil ar an leabhar oibre ag an cnaipe an Ctrl + S eochracha nó cliceáil ar an Sábháil cnaipe, cruthófar ríomhphost Outlook go huathoibríoch. Is féidir leat a fheiceáil go bhfuil an leabhar oibre reatha ceangailte mar cheangaltán agus go bhfuil an t-ábhar sonraithe sna réimsí. Féach ar an scáileán:
Leideanna: Má úsáideann tú an leabhar oibre seo go minic, molaim duit an leabhar oibre a shábháil mar leabhar oibre Leabhar Oibre Macra-Chumasaithe Excel chun an script VBA a shábháil le húsáid sa todhchaí. Is iad seo a leanas na céimeanna.
3.4 Seol ríomhphost go huathoibríoch ag am ar leith
Ligean le rá go gcaithfidh tú r-phost a sheoladh le leabhar oibre sannadh tascanna chuig duine éigin gach maidin Aoine ag 9rn, agus ba mhaith liom é seo a dhéanamh go huathoibríoch in Excel gan an cliant ríomhphoist a oibriú de láimh. Taispeánfaidh an chuid seo duit an modh chun é a dhéanamh.
1. Brúigh an Eile + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
2. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúl. Ansin greamaigh an cód VBA seo a leanas i bhfuinneog an Mhodúil.
Cód VBA1 : Seol ríomhphost chuig an leabhar oibre reatha mar cheangaltán ó Excel
Sub Timer()
If Weekday(Date) = vbFriday Then
SendWorkBook
Application.OnTime TimeValue("09:00:00"), "Timer"
Else
Application.OnTime TimeValue("09:00:00"), "Timer"
End If
End Sub
Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
3. Sa fhuinneog seo, cliceáil faoi dhó An Leabhar Oibre seo sa tionscadal pane, ansin greamaigh an cód VBA seo a leanas sa An Leabhar Oibre seo (Cód) fhuinneog.
Cód VBA 2: Seol ríomhphost go huathoibríoch ag am ar leith
Private Sub Workbook_Open()
Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub
nótaí:
4. Sábháil na cóid agus ansin sábháil an leabhar oibre mar leabhar oibre macra-chumasaithe Excel mar seo a leanas.
5. Oscail do leabhar oibre macra-chumasaithe a shábháil, ansin cruthófar nó seolfar ríomhphost go huathoibríoch nuair a thagann an lá agus an t-am.
4. Ábhair bhreise
Bailíonn an chuid seo ábhair eile a d’fhéadfadh teacht ort agus tú ag seoladh ríomhphoist ó Excel.
4.1 Cuir ríomhphost chuig raon cealla ó Excel (le script VBA)
Ag glacadh leis go bhfuil tábla díolacháin míosúil i mbileog oibre Excel mar a thaispeántar sa scáileán thíos, agus ní mór duit an tábla díolacháin míosúil seo a sheoladh chuig daoine eile mar ábhar comhlacht ríomhphoist nó mar cheangaltán go díreach. Anseo cuirimid dhá mhodh ar fáil duit chun é a dhéanamh.
4.1.1 Ríomhphost raon mar chuid den ábhar coirp ó Excel
Is féidir leat an cód VBA seo a leanas a reáchtáil chun raon cealla a sheoladh mar chuid den ábhar comhlacht ríomhphoist ó Excel
1. Brúigh an Eile + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
2. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil uirlisí > tagairtí. Agus ansin seiceáil an Leabharlann Oibiachta Microsoft Outlook 16.0 bosca agus cliceáil OK sa Tagairtí - VBAProject dialóg.
3. cliceáil Ionsáigh > Modúil, ansin greamaigh an cód VBA seo a leanas sa Modúl (Cód) fhuinneog.
Cód VBA: Seol raon cealla mar chuid den ábhar comhlacht ríomhphoist ó Excel
Sub SendARangeofCells()
'Updated by Extendoffice 20220809
Dim xRg As Range
Dim I, J As Long
Dim xAddress As String
Dim xMailOut As Object
Dim xOutApp As Object
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
With xMailOut
.Subject = "test"
.To = ""
.CC = "Email address"
.BCC = "Email address"
.HTMLBody = RangetoHTML(xRg)
.Display
'.Send
End With
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
' The following VBA script is cited from this page:
' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
Dim fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook
TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
'Copy the range and create a new workbook to past the data in
rng.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With
'Publish the sheet to a htm file
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=TempFile, _
Sheet:=TempWB.Sheets(1).Name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With
'Read all data from the htm file into RangetoHTML
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.ReadAll
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
"align=left x:publishsource=")
'Close TempWB
TempWB.Close savechanges:=False
'Delete the htm file we used in this function
Kill TempFile
Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing
End Function
nótaí: Sa chód,
4. Brúigh an F5 eochair chun an cód a rith. Sa popped suas Kutools le haghaidh Excel bosca dialóige, roghnaigh an raon cealla a theastaíonn uait a sheoladh mar chuid d'ábhar comhlacht ríomhphoist, ansin cliceáil OK. Féach an pictiúr:
Ansin cruthófar ríomhphost Outlook go huathoibríoch. Is féidir leat a fheiceáil go bhfuil an raon a roghnaigh tú sa bhileog oibre curtha isteach sa chomhlacht ríomhphoist. Féach ar an scáileán:
4.1.2 Ríomhphost raon mar cheangaltán ó Excel
Más gá duit raon cealla a ríomhphost i mbileog oibre mar cheangaltán ó Excel. Is féidir leat triail a bhaint as an gcód VBA seo a leanas.
1. Brúigh an Eile + F11 eochracha.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúil. Ansin greamaigh an cód VBA seo a leanas sa Modúl (Cód) fhuinneog.
Cód VBA: Ríomhphost raon mar cheangaltán ó Excel
Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Monthly sales for 2021"
.Body = "Hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Display
'.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
nótaí:
3. Brúigh an F5 eochair chun an cód a rith. Sa popped suas Kutools le haghaidh Excel bosca dialóige, roghnaigh an raon cealla is gá duit a sheoladh mar cheangaltán i ríomhphost, ansin cliceáil OK. Féach an pictiúr:
Ansin cruthófar ríomhphost Outlook go huathoibríoch. Agus sábhálfar an raon cealla a roghnaigh tú sa bhileog oibre mar leabhar oibre Excel agus ceangailte sa fhuinneog Teachtaireacht. Féach ar an scáileán:
4.2 Seol ríomhphoist nuair a chliceáiltear cnaipe in Excel
Más gá duit cliceáil ar chnaipe ordú chun macra a spreagadh le haghaidh ríomhphost a sheoladh ó Excel, mar shampla, seol an leabhar oibre reatha mar cheangaltán chuig daoine eile trí chliceáil ar chnaipe ordú sa bhileog oibre. Is féidir leat na céimeanna seo a leanas a leanúint chun é a dhéanamh.
1. cliceáil Forbróir > Ionsáigh > Cnaipe Ordú (Rialú ActiveX). Ansin tarraing cnaipe ordaithe sa bhileog oibre.
Leideanna: Má tá cnaipe ordaithe agat cheana féin, skip an chéim seo.
2. Brúigh an Eile + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fuinneog. San fhuinneog, cliceáil Ionsáigh > Modúl, ansin greamaigh an cód VBA (an cód a úsáidtear chun an leabhar oibre reatha a ríomhphost mar cheangaltán ó Excel) i bhfuinneog an Mhodúil (Cód).
Cliceáil anseo chun an cód a fháil.
nótaí: Seo é ainm an macra a chruthaigh tú i gcéim 2 Seol Leabhar Oibre.
3. Brúigh an Eile + Q eochracha chun an Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
4. Anois ní mór duit an macra a shannadh don chnaipe ordú. Cliceáil ar dheis ar an gcnaipe ordaithe, roghnaigh Féach an cód ón roghchlár cliceáil ar dheis.
5. Ansin an Microsoft Visual Basic d’Fheidhmchláir fhuinneog pop suas, is féidir leat a fheiceáil ar an dá líne seo a leanas atá liostaithe sa Bileog (Cód) fhuinneog.
Private Sub CommandButton1_Click()
End Sub
6. Cuir isteach ainm an macra atá ann cheana féin taobh istigh den fho-nós imeachta don chnaipe ordú.
7. Brúigh an Eile + Q eochracha chun an Eagarthóir amhairc bhunúsach, agus cliceáil Forbróir > Mód Dearaidh chun an modh dearaidh a mhúchadh.
Anois is féidir leat cliceáil ar an gcnaipe ordú chun ríomhphost a sheoladh leis an leabhar oibre reatha mar cheangaltán sa ríomhphost.
4.3 Seol ríomhphoist ó chuntas ríomhphoist sonraithe
De ghnáth, nuair a sheoltar ríomhphost ó Excel le cód VBA, is é cuntas ríomhphoist an tseoltóra an cuntas réamhshocraithe in Outlook. Cuir i gcás go bhfuil roinnt cuntas ríomhphoist cumraithe agat i do Outlook agus gur mhaith leat cuntas áirithe a úsáid chun na ríomhphoist a sheoladh ó Excel seachas an cuntas réamhshocraithe a úsáid. Is féidir leis an gcód VBA seo a leanas cabhrú leat.
Tá na cóid seo a leanas riachtanach sa chás seo.
Cód VBA 1:
Dim OutlookMail As Outlook.MailItem
Cód VBA 2:
For Each xAccount In OutlookApp.Session.Accounts
If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
OutlookMail.SendUsingAccount = xAccount
End If
Next
Conas an cód VBA thuas a úsáid?
Sa sampla seo, táimid ag dul a shonrú cuntas ríomhphoist áirithe chun an leabhar oibre reatha a sheoladh mar cheangaltán ó Excel. Déan mar seo a leanas le do thoil.
1. Brúigh an Eile + F11 eochracha. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil uirlisí > tagairtí. Agus ansin seiceáil an Leabharlann Oibiachta Microsoft Outlook 16.0 bosca agus cliceáil OK sa Tagairtí - VBAProject dialóg.
2. cliceáil Ionsáigh > Modúil. Ansin greamaigh an cód VBA seo a leanas sa Modúl (Cód) fhuinneog.
Cód VBA: Seol an leabhar oibre reatha mar cheangaltán ríomhphoist ó Excel trí chuntas sonraithe Outlook
Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
OutlookMail.SendUsingAccount = xAccount
End If
Next
'End
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
3. Brúigh an F5 eochair chun an cód a rith. Ansin tagann teachtaireacht ríomhphoist Outlook suas, is féidir leat a fheiceáil go bhfuil an ó Tá an réimse seo lán leis an gcuntas ríomhphoist a shonraigh tú sa chód.
4.4 Seol ríomhphost nuair a bheidh dáta bainte amach
Más gá duit ríomhphost a sheoladh bunaithe ar dháta dlite ar leith, mar shampla, mar a thaispeántar sa screenshot thíos, tá tábla tionscadail ann, nuair atá an dáta dlite sa raon E2:E7 cothrom le nó níos lú ná 7 lá ón lá inniu (ag glacadh leis gurb é 2022/8/4 an dáta reatha), seolfar ríomhphost go huathoibríoch chuig na ceannairí tionscadail comhfhreagracha agus cuirfear in iúl dóibh go bhfuil an tionscadal ar tí dul in éag.
1. Sa bhileog oibre tá an tábla tionscadail, cliceáil ar dheis ar an táb bileog agus cliceáil Féach ar an gcód ón roghchlár cliceáil ar dheis.
2. San oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog, greamaigh an cód VBA seo a leanas sa Bileog (Cód) fhuinneog.
Cód VBA: Seol ríomhphost go huathoibríoch nuair a chomhlíontar an dáta dlite
Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "
"
xMailBody = ""
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.CC = "Email address"
.BCC = "Email address"
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
nótaí: Sa chód,
3. Brúigh an F5 eochair chun an cód a rith. Ansin, má thagann an dáta éaga leis na coinníollacha, cruthófar an ríomhphost comhfhreagrach. Sa chás seo, cruthófar dhá ríomhphost mar a thaispeántar sa screenshot thíos.
5. Uirlis áisiúil chun cabhrú leat ríomhphoist a sheoladh go héasca ó Excel
Más newbie VBA tú, b'fhéidir nach mbeadh na modhanna thuas éasca duit a láimhseáil. Anseo molaimid Kutools le haghaidh Excel'S Seol Ríomhphost gné, leis an ngné seo, is féidir leat ríomhphoist a sheoladh go héasca ó Excel le roinnt cad a tharlaíonn nuair amháin. Déan mar seo a leanas le do thoil.
Roimh iarratas a dhéanamh Kutools le haghaidh Excel, Le do thoil é a íoslódáil agus a shuiteáil ar dtús.
5.1 Cruthaigh liosta seoltaí go héasca a chuimsíonn na réimsí ríomhphoist atá uait
Sula gcuireann tú an ghné Seol Ríomhphoist i bhfeidhm, ní mór duit liosta seoltaí a chruthú ina mbeidh na réimsí ríomhphoist atá uait. Is féidir leis an ngné Cruthaigh Liosta Ríomhphoist cabhrú anseo.
1. cliceáil Kutools Plus > Cruthaigh Liosta Ríomhphoist.
2. San oscailt Cruthaigh Liosta Ríomhphoist fhuinneog, ní mór duit a chumrú mar seo a leanas.
Ansin cruthaítear tábla liosta seoltaí samplach mar a thaispeántar sa screenshot thíos.
3. Anois ní mór duit do shonraí réimse féin a chur in ionad na sonraí bunaidh sa sampla.
Anois tá tábla liosta seoltaí cruthaithe agat. Téigh ar aghaidh le do thoil chun an Seol Ríomhphost gné chun ríomhphoist a sheoladh ó Excel bunaithe ar na réimsí a chruthaigh tú.
Más mian leat triail saor in aisce (30 lá) a bheith agat ar an bhfóntas seo, cliceáil le do thoil chun é a íoslódáil, agus ansin téigh chun an oibríocht a chur i bhfeidhm de réir na gcéimeanna thuas.
5.2 Seol ríomhphoist go héasca lena n-áirítear na réimsí a chruthaigh tú ar an liosta seoltaí
Tar éis duit an liosta seoltaí a chruthú (cliceáil chun a fháil amach conas) ina bhfuil na réimsí a d'fhéadfadh a bheith ag teastáil uait i do ríomhphoist, is féidir leat ríomhphoist a sheoladh ó Excel anois leis na réimsí seo.
1. Roghnaigh an liosta seoltaí ar fad, cliceáil Kutools Plus > Seol Ríomhphost.
2. Sa Seol Ríomhphost bosca dialóige, le do thoil a dhéanamh ar an chumraíocht seo a leanas.
3. Ansin a Kutools le haghaidh Excel Vox an bosca dialóige a insint duit cé mhéad ríomhphost a sheoladh, cliceáil ar an OK cnaipe chun an bosca dialóige seo a dhúnadh.
Leideanna: Is féidir leat dul go dtí an Míreanna Seolta fillteán i do Outlook chun na ríomhphoist a sheol tú a sheiceáil.
5.3 Seol ríomhphoist go héasca le comhlacht HTML (lena n-áirítear hipearnasc, íomhá, etc.)
Ligeann an ghné Seol Ríomhphost seo duit ríomhphost html a thógáil, a chuimsíonn hipearnasc, íomhá, clómhéideanna éagsúla agus dathanna cló, etc.
Tar éis ag cruthú liosta seoltaí a chuimsíonn na réimsí ríomhphoist atá uait,
Nuair a bheidh tú cumraigh an Seol Ríomhphost bosca dialóige, is féidir leat ábhar an chomhlachta a bheith saibhir trí úsáid a bhaint as na roghanna ar an mbarra uirlisí.
Féach ar an scáileán thíos:
5.4 Cuir isteach síniú réamhshocraithe Outlook go héasca nuair a bhíonn ríomhphoist á sheoladh
Sa mhodh thuas, léirigh muid cód VBA chun cabhrú leat ríomhphoist a sheoladh le síniú réamhshocraithe Outlook. Anseo leis an ngné Seol Ríomhphost, ní mór duit ach rogha a sheiceáil, ansin cuirfear síniú réamhshocraithe Outlook isteach i ríomhphoist a sheol tú ó Excel.
Tar éis ag cruthú liosta seoltaí a chuimsíonn na réimsí ríomhphoist atá uait,
Cathain cumraigh an Seol Ríomhphost bosca dialóige, ní mór duit cliceáil Roghanna > Úsáid socruithe sínithe Outlook.
nótaí: Cinntigh le do thoil go bhfuil marc seiceála ar taispeáint roimh an rogha socruithe sínithe Úsáid Outlook.
Nuair a fhaigheann faighteoirí an ríomhphost, is féidir leo síniú réamhshocraithe Outlook a fheiceáil ar taispeáint ag deireadh an chomhlachta ríomhphoist.
5.5 Seol ríomhphoist go héasca ó chuntas ríomhphoist sonraithe
Chun cuntas ríomhphoist áirithe a úsáid chun na ríomhphoist a sheoladh ó Excel seachas an cuntas réamhshocraithe a úsáid, is féidir leis an ngné Seol Ríomhphost cabhrú freisin é a dhéanamh go héasca.
Tar éis ag cruthú liosta seoltaí a chuimsíonn na réimsí ríomhphoist atá uait,
Cathain cumraigh an Seol Ríomhphost bosca dialóige, ní mór duit cliceáil Roghanna > Seolta ó, ansin cliceáil ar an gcuntas ríomhphoist a theastaíonn uait chun ríomhphoist a sheoladh uaidh.
nótaí: Tar éis duit an cuntas ríomhphoist a roghnú, taispeánfar marc seiceála os a chomhair.
cliceáil anseo chun tuilleadh eolais a fháil faoin ngné Seol Ríomhphost seo.
Más mian leat triail saor in aisce (30 lá) a bheith agat ar an bhfóntas seo, cliceáil le do thoil chun é a íoslódáil, agus ansin téigh chun an oibríocht a chur i bhfeidhm de réir na gcéimeanna thuas.
Mar fhocal scoir, tá sé úsáideach go leor ríomhphoist a sheoladh ó Excel inár gcuid oibre laethúil. Clúdaíonn an t-alt seo ábhair níos cuimsithí maidir le ríomhphoist a sheoltar ó Excel, má tá ábhair eile nó réitigh níos éasca ann, fág trácht le do thoil a chur in iúl dom.
Uirlisí Táirgiúlachta Oifige is Fearr
Supercharge Do Scileanna Excel le Kutools le haghaidh Excel, agus Éifeachtúlacht Taithí Cosúil Ná Roimhe. Kutools le haghaidh Excel Tairiscintí Níos mó ná 300 Ardghnéithe chun Táirgiúlacht a Treisiú agus Sábháil Am. Cliceáil anseo chun an ghné is mó a theastaíonn uait a fháil ...
Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca
- Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
- Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
- Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!