Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Is there a way I can set up my spreadsheet to send an email to alert others in my company that it has been updated, every time I save it?
Thanks! Paul |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Paul,
Am Wed, 27 Jul 2016 08:18:23 -0700 (PDT) schrieb Paul Doucette: Is there a way I can set up my spreadsheet to send an email to alert others in my company that it has been updated, every time I save it? write the code for the email in the Workbook_BeforeSave event Regards Claus B. -- Windows10 Office 2016 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wednesday, July 27, 2016 at 11:18:52 AM UTC-4, Paul Doucette wrote:
Is there a way I can set up my spreadsheet to send an email to alert others in my company that it has been updated, every time I save it? Thanks! Paul Thanks Claus! |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Paul Doucette wrote:
Is there a way I can set up my spreadsheet to send an email to alert others in my company that it has been updated, every time I save it? I have to ask, do you *really* want to generate an email alert *every time you save*? This strikes me as a really bad idea. I tend to save my spreadsheets every time I change *anything*; I doubt folks would like to receive 600 emails a day from me saying "lol changed the spreadsheet again". Instead, I would do something like this (in the spreadsheet's ThisWorkbook class): Private saved As Boolean Private Sub Workbook_Open() saved = False End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) saved = True End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) If saved Then generateEmail End Sub Public Sub generateEmail() 'send the email; you figure out how 'then... saved = False End Sub This way, you can send the email reports via code whenever you want, but if you forget to, it happens automagically when you close the spreadsheet. -- Their education has been sadly neglected. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I wrote:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) saved = True End Sub ....or alternately: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) saved = True If MsgBox("Generate email?", vbYesNoCancel) = vbYes Then generateEmail End Sub -- Playing war games with other people's lives... It should be *you* on the front line! |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wednesday, July 27, 2016 at 11:18:52 AM UTC-4, Paul Doucette wrote:
Is there a way I can set up my spreadsheet to send an email to alert others in my company that it has been updated, every time I save it? Thanks! Paul Thank you! That may be a better option! :-) Appreciate your time! -Paul |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Auric,
Am Wed, 27 Jul 2016 18:15:27 -0000 (UTC) schrieb Auric__: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) saved = True If MsgBox("Generate email?", vbYesNoCancel) = vbYes Then generateEmail End Sub it is a good idea to use a MsgBox. But it is also annoying when the MsgBox appears 600 times. Maybe it is better to put the code in the WorkBook_BeforeClose event. Regards Claus B. -- Windows10 Office 2016 |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Claus Busch wrote:
Hi Auric, Am Wed, 27 Jul 2016 18:15:27 -0000 (UTC) schrieb Auric__: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) saved = True If MsgBox("Generate email?", vbYesNoCancel) = vbYes Then generateEmail End Sub it is a good idea to use a MsgBox. But it is also annoying when the MsgBox appears 600 times. Maybe it is better to put the code in the WorkBook_BeforeClose event. The entire idea was to remind the user about the email and give them some way to decide whether or not to send the email. Feel free to suggest a better option. -- One doesn't discover new lands without consenting to lose sight of the shore for a very long time. -- Andre Gide |
#9
![]() |
|||
|
|||
![]()
"I Loved You" is a single by British deep house duo Blonde featuring vocals from British singer Melissa Steel. The track uses interpolations of "More", a song from the album of the same name by Canadian singer Tamia. It was released through Parlophone on 30 November 2014 in the United Kingdom. The song has peaked at number 7 on the UK Singles Chart.
|
#10
![]() |
|||
|
|||
![]()
CẦM CAVET XE GIÁ CAO NHẤT THỊ TRƯỜNG 0916556949
- Nh*n cầm xe máy , xe tay ga các loại...... Không cần giữ xe . - Cầm 70- 80% giá trị xe - Thủ tục nhanh gọn , không rườm r* , có tiền liền . - Không cầm xe gian, xe không ch*nh chủ, xe tháp. Điều Kiện : - Xe Ch*nh Chủ ,biển số Th*nh Phố Hồ Ch* Minh , Chứng minh nhân dân + hộ khẩu th*nh phố + 1 hóa đơn điện phải trùng địa chỉ với nhau mang lên để đối chiếu . - Người đi cầm phải l* chủ xe v* phải đi ch*nh chiếc xe. LH: 0914776949 |
#11
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wednesday, July 27, 2016 at 3:53:36 PM UTC-4, Claus Busch wrote:
Hi Auric, Am Wed, 27 Jul 2016 18:15:27 -0000 (UTC) schrieb Auric__: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) saved = True If MsgBox("Generate email?", vbYesNoCancel) = vbYes Then generateEmail End Sub it is a good idea to use a MsgBox. But it is also annoying when the MsgBox appears 600 times. Maybe it is better to put the code in the WorkBook_BeforeClose event. Regards Claus B. -- Windows10 Office 2016 I believe your option will work better Claus. But I could still use some help. This spreadsheet is used for listing new orders. The girl who enters the orders put a new order in the next available (empty) row on Sheet1. After she has done that, she hit's save so that she does not lose her work. It is at that point that I would like the workbook to alert other users. The other users (there are 3 or 4 of them) need to be alerted as soon as possible that a new order has been entered so that they can begin assembling product. They have been just opening the "neworders" workbook randomly to check to see if new data has been entered into the next available row. It would be more efficient if they received an email alert when she has put data into a new row, and saved. HOWEVER she also sometimes deletes completed rows and saves. I do not want the other users alerted at those times. Thoughts? Thank you, Paul |
#12
![]() |
|||
|
|||
![]()
Chúc bạn một ng*y l*m việc hiệu quả.
|
#13
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Paul,
Am Fri, 29 Jul 2016 10:35:00 -0700 (PDT) schrieb Paul Doucette: I believe your option will work better Claus. But I could still use some help. This spreadsheet is used for listing new orders. The girl who enters the orders put a new order in the next available (empty) row on Sheet1. After she has done that, she hit's save so that she does not lose her work. It is at that point that I would like the workbook to alert other users. The other users (there are 3 or 4 of them) need to be alerted as soon as possible that a new order has been entered so that they can begin assembling product. They have been just opening the "neworders" workbook randomly to check to see if new data has been entered into the next available row. It would be more efficient if they received an email alert when she has put data into a new row, and saved. HOWEVER she also sometimes deletes completed rows and saves. I do not want the other users alerted at those times. in which range the new order will be entered? Does she enter the new order from A on in each cell? Regards Claus B. -- Windows10 Office 2016 |
#14
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
HOWEVER she also sometimes deletes completed rows and saves. I do not
want the other users alerted at those times. Thoughts? I like Auric_'s idea using the MsgBox for this! (very K.I.S.S.) -- Garry Free usenet access at http://www.eternal-september.org Classic VB Users Regroup! comp.lang.basic.visual.misc microsoft.public.vb.general.discussion --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus |
#15
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Friday, July 29, 2016 at 1:59:02 PM UTC-4, Claus Busch wrote:
Hi Paul, Am Fri, 29 Jul 2016 10:35:00 -0700 (PDT) schrieb Paul Doucette: I believe your option will work better Claus. But I could still use some help. This spreadsheet is used for listing new orders. The girl who enters the orders put a new order in the next available (empty) row on Sheet1. After she has done that, she hit's save so that she does not lose her work. It is at that point that I would like the workbook to alert other users. The other users (there are 3 or 4 of them) need to be alerted as soon as possible that a new order has been entered so that they can begin assembling product. They have been just opening the "neworders" workbook randomly to check to see if new data has been entered into the next available row. It would be more efficient if they received an email alert when she has put data into a new row, and saved. HOWEVER she also sometimes deletes completed rows and saves. I do not want the other users alerted at those times. in which range the new order will be entered? Does she enter the new order from A on in each cell? Regards Claus B. -- Windows10 Office 2016 Yes, that's correct. A through J in that order. |
#16
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Paul,
Am Fri, 29 Jul 2016 12:12:31 -0700 (PDT) schrieb Paul Doucette: Yes, that's correct. A through J in that order. in a standard module: Public LRowOld As Long Sub RowCheck() LRowOld = Cells(Rows.Count, 1).End(xlUp).Row End Sub In module of Sheet1: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count 1 Then RowCheck End Sub In module of workbook: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim LRow As Long LRow = Sheets("Sheet1").UsedRange.Rows.Count If LRow = LRowOld Then Exit Sub 'Insert here the code to create your email End Sub Regards Claus B. -- Windows10 Office 2016 |
#17
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Friday, July 29, 2016 at 3:43:28 PM UTC-4, Claus Busch wrote:
Hi Paul, Am Fri, 29 Jul 2016 12:12:31 -0700 (PDT) schrieb Paul Doucette: Yes, that's correct. A through J in that order. in a standard module: Public LRowOld As Long Sub RowCheck() LRowOld = Cells(Rows.Count, 1).End(xlUp).Row End Sub In module of Sheet1: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count 1 Then RowCheck End Sub In module of workbook: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim LRow As Long LRow = Sheets("Sheet1").UsedRange.Rows.Count If LRow = LRowOld Then Exit Sub 'Insert here the code to create your email End Sub Regards Claus B. -- Windows10 Office 2016 THANKS! Will try it as soon as I can get in the workbook on my own! |
#19
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
FWIW
The approach I use doesn't involve Workbook events. (In fact I NEVER use code in the 'ThisWorkbook' component to avoid problems of code not working if the workbook becomes corrupt!) Saves are done normally as per user normal work practice. Here's some sample code... In a standard module named "m_OpenClose": Option Explicit ' This module handles all startup/shutdown processes '[Global Variable Defs] Const gbDevMode As Boolean = False 'True' '//set True to skip runtime UI settings during design time Public gbSettingsAreStored As Boolean '[Module Variable Defs] Const msModule$ = "m_OpenClose" '//used for logging '[Enums] '[UDTs] Private Type udtSettings SettingsAreStored As Boolean VisibleCommandbars As String DisplayStatusBar As Boolean DisplayFormulaBar As Boolean ShowWindowsInTaskbar As Boolean IgnoreRemoteRequests As Boolean DisplayCommentIndicator As Boolean 'With Commandbars CustomizeToolbars As Boolean ViewToolbarList As Boolean EnableDesktop As Boolean 'With editing Calculation As Long EditDirectlyInCell As Boolean AlertBeforeOverwriting As Boolean CellDragAndDrop As Boolean CopyObjectsWithCells As Boolean MoveAfterReturn As Boolean MoveAfterReturnDirection As Long 'Version 10+ AutoRecoverEnabled As Boolean 'With Commandbars DisableAskAQuestionDropdown As Boolean 'With ErrorCheckingOptions InconsistentFormula As Boolean UnlockedFormulaCells As Boolean NumberAsText As Boolean End Type Public AppSettings As udtSettings '[APIs] '[Conditionals] Sub Auto_Open() ' An Excel Autorun macro to replace the Workbook_Open event. ' Handles all startup processes. Const sSource$ = "Auto_Open()" 'On startup... InitGlobals '//initialize global variables 'If <startup condition Then Startup Else Shutdown End Sub 'Auto_Open Sub Startup() Const sSource$ = "Startup()" StoreExcelSettings '//loads user default settings into a UDT SetupUI '//configures Excel as desired CreateMenus '//sets up any custom menus/toolbars used End Sub 'Startup Sub Auto_Close() ' An Excel Autorun macro to replace the Workbook_BeforeClose event. ' Handles all shutdown processes. Const sSource$ = "Auto_Close()" 'On shutdown conditionals 'Prompt to notify other users of changes Dim vAns Const sMsg$ = "Do you want to Notify others of your changes?" vAns = MsgBox(sMsg, vbYesNo+vbQuestion, "Notification of Changes") If vAns = vbYes Then NotifyOtherUsers Call Shutdown End Sub 'Auto_Close Sub Shutdown() Const sSource$ = "Shutdown()" DeleteMenus '//remove any custom menus/toolbars created CleanupUI '//undo changes made by SetupUI RestoreExcelSettings '//reset stored user default settings End Sub 'Shutdown Sub NotifyOtherUsers() ' This is where you put code to notify others of changes Const sSource$ = "NotifyOtherUsers()" '... End Sub 'NotifyOtherUsers Sub StoreExcelSettings() ' This stores Excel's settings on startup Const sSource As String = "StoreExcelSettings()" Dim oTemp As Object Dim wkbTemp As Object 'gAppXL.Workbook Dim sBarNames As String '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''' If gAppXL Is Nothing Then Set gAppXL = Application '//vba only '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''' 'Skip errors in case we can't use the Registry ' On Error Resume Next 'Check if we've already stored the settings '(so don't want to overwrite them) ' If Not gbSettingsAreStored Then 'Store the current Excel settings in AppSettings With gAppXL 'Some properties require a workbook to be open If .ActiveWorkbook Is Nothing Then .ScreenUpdating = False: Set wkbTemp = .Workbooks.Add AppSettings.DisplayStatusBar = .DisplayStatusBar AppSettings.DisplayFormulaBar = .DisplayFormulaBar AppSettings.DisplayCommentIndicator = .DisplayCommentIndicator AppSettings.CustomizeToolbars = ..CommandBars("Tools").Controls("Customize...").En abled AppSettings.ViewToolbarList = .CommandBars("Toolbar List").Enabled AppSettings.EnableDesktop = .CommandBars("Desktop").Enabled AppSettings.IgnoreRemoteRequests = .IgnoreRemoteRequests AppSettings.Calculation = .Calculation AppSettings.AlertBeforeOverwriting = .AlertBeforeOverwriting AppSettings.CellDragAndDrop = .CellDragAndDrop AppSettings.CopyObjectsWithCells = .CopyObjectsWithCells AppSettings.EditDirectlyInCell = .EditDirectlyInCell AppSettings.MoveAfterReturn = .MoveAfterReturn AppSettings.MoveAfterReturnDirection = .MoveAfterReturnDirection 'insert others here as necessary 'Which commandbars are visible For Each cmdBar In .CommandBars If cmdBar.Visible Then sBarNames = sBarNames & "," & cmdBar.name End If Next AppSettings.VisibleCommandbars = Mid$(sBarNames, 2) 'Specific for Excel 2000 and up If Val(.VERSION) = 9 Then AppSettings.ShowWindowsInTaskbar = ..ShowWindowsInTaskbar 'Special for Excel 2002 and up If Val(.VERSION) = 10 Then Set oTemp = .CommandBars AppSettings.DisableAskAQuestionDropdown = oTemp.DisableAskAQuestionDropdown AppSettings.AutoRecoverEnabled = .AutoRecover.Enabled AppSettings.InconsistentFormula = ..ErrorCheckingOptions.InconsistentFormula AppSettings.UnlockedFormulaCells = ..ErrorCheckingOptions.UnlockedFormulaCells AppSettings.NumberAsText = .ErrorCheckingOptions.NumberAsText End If 'Val(.VERSION) = 10 AppSettings.SettingsAreStored = True End With 'gAppXL 'Close up the temporary workbook If Not wkbTemp Is Nothing Then wkbTemp.Close False 'Save the settings ' PutDataInFile App.Path & gsSEP_PATH & gsAPP_FILE_SETTINGS, SettingsData '//vb6 PutDataInFile sAppPath & "\settings.dat", SettingsData '//vba 'Indicate that the settings have been stored. gbSettingsAreStored = True ' End If 'gbSettingsAreStored End Sub 'StoreExcelSettings() Sub RestoreExcelSettings() ' Restores Excel setting we stored at startup Const sSource As String = "RestoreExcelSettings()" Dim oTemp As Object Dim vRet As Variant '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''' If gAppXL Is Nothing Then Set gAppXL = Application '//vba only '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''' 'we're shutting down ' On Error Resume Next 'Restore the original Excel settings With gAppXL 'reset the window caption .Caption = .name 'reset the sheet tab shortcut menu .CommandBars("Ply").Reset .CommandBars("Window").Reset 'Restore the Excel settings ' If gbSettingsAreStored Then .DisplayStatusBar = AppSettings.DisplayStatusBar .DisplayFormulaBar = AppSettings.DisplayFormulaBar .DisplayCommentIndicator = AppSettings.DisplayCommentIndicator .CommandBars("Tools").Controls("Customize...").Ena bled = AppSettings.CustomizeToolbars .CommandBars("Toolbar List").Enabled = AppSettings.ViewToolbarList .CommandBars("Desktop").Enabled = AppSettings.EnableDesktop .IgnoreRemoteRequests = AppSettings.IgnoreRemoteRequests On Error Resume Next .Calculation = AppSettings.Calculation On Error GoTo 0 .AlertBeforeOverwriting = AppSettings.AlertBeforeOverwriting .CellDragAndDrop = AppSettings.CellDragAndDrop .CopyObjectsWithCells = AppSettings.CopyObjectsWithCells .EditDirectlyInCell = AppSettings.EditDirectlyInCell .MoveAfterReturn = AppSettings.MoveAfterReturn .MoveAfterReturnDirection = AppSettings.MoveAfterReturnDirection 'insert others here as necessary 'Specific for Excel 2000 and up If Val(.VERSION) = 9 Then .ShowWindowsInTaskbar = AppSettings.ShowWindowsInTaskbar 'Specific for Excel 2002 and up If Val(.VERSION) = 10 Then Set oTemp = gAppXL.CommandBars oTemp.DisableAskAQuestionDropdown = AppSettings.DisableAskAQuestionDropdown .AutoRecover.Enabled = AppSettings.AutoRecoverEnabled With .ErrorCheckingOptions .InconsistentFormula = AppSettings.InconsistentFormula .UnlockedFormulaCells = AppSettings.UnlockedFormulaCells .NumberAsText = AppSettings.NumberAsText End With End If 'Val(.VERSION) = 10 ' End If 'gbSettingsAreStored End With 'Open the 'toolbar.xlb' to prevent it from growing in size 'This will restore the default Excel menubar in the event of a crash ''' DO NOT USE IF MENUBAR HAS BEEN CUSTOMIZED ''' '//This application uses a menuitem on the Excel Menubar, so we won't restore the default// ' RestoreMenus 'Show the correct toolbars '//These were hidden by ConfigureWorkspace()// On Error Resume Next For Each mvBarName In Split(AppSettings.VisibleCommandbars, ",") gAppXL.CommandBars(mvBarName).Visible = True Next On Error GoTo 0 'Once restored, reset our flag for next runtime AppSettings.SettingsAreStored = False gbSettingsAreStored = False 'Save the settings ' PutDataInFile App.Path & gsSEP_PATH & gsAPP_FILE_SETTINGS, SettingsData '//vb6 PutDataInFile sAppPath & "\settings.dat", SettingsData '//vba End Sub 'RestoreExcelSettings() Note: Saving setting to file is primarily for use with VB6 automation, but it allows for settings recovery in the event of a crash. -- Garry Free usenet access at http://www.eternal-september.org Classic VB Users Regroup! comp.lang.basic.visual.misc microsoft.public.vb.general.discussion --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus |
#20
![]() |
|||
|
|||
![]()
IN BÓNG BAY IN LOGO LÊN BÓNG BAY C* SỞ IN BÓNG BAY GIÁ RẺ 0967 877 586
Cơ sở bóng bay H* Nội phục vụ mọi nhu cầu tối đa của Quý Khách trong lĩnh vực quảng cáo thiết kế bóng bay, khinh kh* cầu, cổng hơi, trang tr* cổng bóng bay, bán bóng bay bơm hydro v* in ấn các loại. - In logo trên bóng bay; 0967 877 586 - Bán bóng bay bơm hydro ; 0967 877 586 - Bán v* bơm khinh kh* cầu 0967 877 586 - L*m v* trang tr* cổng bóng bay; 0967 877 586 - Bán cổng hơi có rồng v* không rồng các loại; 0967 877 586 - Bán que cầm bóng bay 0967 877 586 Niềm vui và sự hài lòng của Quý Khách là thành công lớn nhất của Cơ sở bóng bay H* Nội . Mọi chi tiết xin liên hệ: C* SỞ IN BÓNG BAY HÀ NÔI. Hotline: 0967 877 586 https://www.youtube.com/watch?v=5YR-L2I7FT8 https://www.youtube.com/watch?v=BNu-K3YXIgE http://indenhat.com/indenhat.html http://indenhat.com/new/70/1023/Bao-Gia-In-Logo-Len-Bong-Bay.html http://indenhat.com/new/70/1021/HUONG-DAN-DAT-IN-LOGO-LEN-BONG-BAY.html http://indenhat.com/new/74/1020/GIOI-THIEU-IN-DE-NHAT.html http://indenhat.com/new/70/1019/MAU-BONG-IN-LOGO-THUONG-HIEU.html http://indenhat.com/new/61/1017/In-bong-bay--In-logo-len-bong-bay--Xuong-in-bong-bay.html https://www.facebook.com/inbongbay.inlogobongbay.xuonginbongbay0967877586/ https://plus.google.com/+%C4%90%E1%BB%87Nh%E1%BA%A5tIn-chuy%C3%AAnthi%E1%BA%BFtk%E1%BA%BFin%E1%BA%A5ntr%C 3%AAnm%E1%BB%8Dich%E1%BA%A5tli%E1%BB%87u/posts/Zno8FuhDWao https://plus.google.com/+%C4%90%E1%BB%87Nh%E1%BA%A5tIn-chuy%C3%AAnthi%E1%BA%BFtk%E1%BA%BFin%E1%BA%A5ntr%C 3%AAnm%E1%BB%8Dich%E1%BA%A5tli%E1%BB%87u/posts |
#21
![]() |
|||
|
|||
![]()
IN BÓNG BAY IN LOGO LÊN BÓNG BAY C* SỞ IN BÓNG BAY GIÁ RẺ 0967 877 586
Cơ sở bóng bay H* Nội phục vụ mọi nhu cầu tối đa của Quý Khách trong lĩnh vực quảng cáo thiết kế bóng bay, khinh kh* cầu, cổng hơi, trang tr* cổng bóng bay, bán bóng bay bơm hydro v* in ấn các loại. - In logo trên bóng bay; 0967 877 586 - Bán bóng bay bơm hydro ; 0967 877 586 - Bán v* bơm khinh kh* cầu 0967 877 586 - L*m v* trang tr* cổng bóng bay; 0967 877 586 - Bán cổng hơi có rồng v* không rồng các loại; 0967 877 586 - Bán que cầm bóng bay 0967 877 586 Niềm vui và sự hài lòng của Quý Khách là thành công lớn nhất của Cơ sở bóng bay H* Nội . Mọi chi tiết xin liên hệ: C* SỞ IN BÓNG BAY HÀ NÔI. Hotline: 0967 877 586 https://www.youtube.com/watch?v=5YR-L2I7FT8 https://www.youtube.com/watch?v=BNu-K3YXIgE http://indenhat.com/indenhat.html http://indenhat.com/new/70/1023/Bao-Gia-In-Logo-Len-Bong-Bay.html http://indenhat.com/new/70/1021/HUONG-DAN-DAT-IN-LOGO-LEN-BONG-BAY.html http://indenhat.com/new/74/1020/GIOI-THIEU-IN-DE-NHAT.html http://indenhat.com/new/70/1019/MAU-BONG-IN-LOGO-THUONG-HIEU.html http://indenhat.com/new/61/1017/In-bong-bay--In-logo-len-bong-bay--Xuong-in-bong-bay.html https://www.facebook.com/inbongbay.inlogobongbay.xuonginbongbay0967877586/ https://plus.google.com/+%C4%90%E1%BB%87Nh%E1%BA%A5tIn-chuy%C3%AAnthi%E1%BA%BFtk%E1%BA%BFin%E1%BA%A5ntr%C 3%AAnm%E1%BB%8Dich%E1%BA%A5tli%E1%BB%87u/posts/Zno8FuhDWao https://plus.google.com/+%C4%90%E1%BB%87Nh%E1%BA%A5tIn-chuy%C3%AAnthi%E1%BA%BFtk%E1%BA%BFin%E1%BA%A5ntr%C 3%AAnm%E1%BB%8Dich%E1%BA%A5tli%E1%BB%87u/posts |
#22
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Friday, July 29, 2016 at 3:43:28 PM UTC-4, Claus Busch wrote:
Hi Paul, Am Fri, 29 Jul 2016 12:12:31 -0700 (PDT) schrieb Paul Doucette: Yes, that's correct. A through J in that order. in a standard module: Public LRowOld As Long Sub RowCheck() LRowOld = Cells(Rows.Count, 1).End(xlUp).Row End Sub In module of Sheet1: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count 1 Then RowCheck End Sub In module of workbook: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim LRow As Long LRow = Sheets("Sheet1").UsedRange.Rows.Count If LRow = LRowOld Then Exit Sub 'Insert here the code to create your email End Sub Regards Claus B. -- Windows10 Office 2016 Hi Claus. This is working very well! So far no complaints!! I have one more modification to the code they are wondering about, if it is possible :-) It is now sending the email with a message in it. Could we get it to send the email with the information from the new Row(s) that has been entered? That way they would be able to see the new information at a glance and not have to open the workbook if they do not feel the need. Thank you again! Paul |
#23
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Wednesday, August 3, 2016 at 4:58:16 PM UTC-4, Paul Doucette wrote:
On Friday, July 29, 2016 at 3:43:28 PM UTC-4, Claus Busch wrote: Hi Paul, Am Fri, 29 Jul 2016 12:12:31 -0700 (PDT) schrieb Paul Doucette: Yes, that's correct. A through J in that order. in a standard module: Public LRowOld As Long Sub RowCheck() LRowOld = Cells(Rows.Count, 1).End(xlUp).Row End Sub In module of Sheet1: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count 1 Then RowCheck End Sub In module of workbook: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim LRow As Long LRow = Sheets("Sheet1").UsedRange.Rows.Count If LRow = LRowOld Then Exit Sub 'Insert here the code to create your email End Sub Regards Claus B. -- Windows10 Office 2016 Hi Claus. This is working very well! So far no complaints!! I have one more modification to the code they are wondering about, if it is possible :-) It is now sending the email with a message in it. Could we get it to send the email with the information from the new Row(s) that has been entered? That way they would be able to see the new information at a glance and not have to open the workbook if they do not feel the need. Thank you again! Paul And again, in the body of the email it would always be columns A though J. And it would be the rows added since the last save. Thanks, Paul |
#24
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Paul,
Am Wed, 3 Aug 2016 15:32:34 -0700 (PDT) schrieb Paul Doucette: And again, in the body of the email it would always be columns A though J. And it would be the rows added since the last save. I sent you an email Regards Claus B. -- Windows10 Office 2016 |
#25
![]() |
|||
|
|||
![]()
_________@@@@@@@@_____ _____@@@@@@____________ ___@@@@@@______________ __@@@@@@@_____________ ___@@@@@@______________ _____@@@@@@____________ _________@@@@@@@@_____ ___________________________ ______@@@@@@@@@_______ __@@@@@_______@@@@@__ _@@@@@_________@@@@@_ _@@@@@_________@@@@@_ _@@@@@_________@@@@@_ __@@@@@_______@@@@@__ ______@@@@@@@@@_______ ___________________________ ______@@@@@@@@@_______ __@@@@@_______@@@@@__ _@@@@@_________@@@@@_ _@@@@@_________@@@@@_ _@@@@@_________@@@@@_ __@@@@@_______@@@@@__ ______@@@@@@@@@_______ ________________________ __@@@@@@________________ __@@@@@@________________ __@@@@@@________________ __@@@@@@________________ __@@@@@@________________ __@@@@@@@@@@@@@@___ __@@@@@@@@@@@@@@___ __@@@@@@@@@@@@@@___.
|
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Send email from excel to notes - save email in sent folder | Excel Programming | |||
save sheet as pdf and email it | Excel Programming | |||
macros to save then email | Excel Programming | |||
save and email button | Excel Programming | |||
Email/Save/Macro | Excel Worksheet Functions |