Excel VBA - 如何格式化时间格式的用户窗体文本框(Excel VBA - How to format a UserForm TextBox in Time Format)
我在Excel中创建一个UserForm,它将在我的Outlook日历中创建一个约会。 除了开始和结束时间以外,一切都在工作。 下面是我的代码,其中DTPicker1是约会的日期,DTPicker2和DTPicker3分别是开始和结束时间。 它们采用dtpTime格式。 约会是在正确的日期和主题上创建的,除了时间之外,一切都正常工作。 不知道我应该如何解决它。 任何帮助表示赞赏。 谢谢!
Private Sub CommandButton1_Click() Dim olApp As Outlook.Application Dim olAppItem As Outlook.AppointmentItem Dim r As Long On Error Resume Next Worksheets("Sheet1").Activate Set olApp = GetObject("", "Outlook.Application") On Error GoTo 0 If olApp Is Nothing Then On Error Resume Next Set olApp = CreateObject("Outlook.Application") On Error GoTo 0 If olApp Is Nothing Then MsgBox "Outlook is not available!" Exit Sub End If End If Dim mysub, myStart, myEnd mysub = TextBox1 myStart = DTPicker1 & DatePicker2 myEnd = DTPicker1 & DatePicker3 Set olAppItem = olApp.CreateItem(olAppointmentItem) 'creates a new appointment With olAppItem 'set default appointment values .Location = "" .Body = "" .ReminderSet = True .BusyStatus = olFree .RequiredAttendees = "" On Error Resume Next .Start = myStart .End = myEnd .Subject = TextBox1 .Attachments.Add ("c:\temp\somefile.msg") .Location = "" .Body = "" .ReminderSet = True .BusyStatus = olBusy .Categories = "Orange Category" On Error GoTo 0 .Save 'saves the new appointment to the default folder End With Set olAppItem = Nothing Set olApp = Nothing MsgBox "Done !" End Sub
I am making a UserForm in excel that will create an appointment in my Outlook Calendar. Everything is working except the start and end times. Below is my code where DTPicker1 is the Date of the appointment and DTPicker2 and DTPicker3 are the start and end times respectively. They are in dtpTime format. The appointment is created on the right date and subject and everything works correctly except the times. Not sure what I'm supposed to do to fix it. Any help is appreciated. Thanks!
Private Sub CommandButton1_Click() Dim olApp As Outlook.Application Dim olAppItem As Outlook.AppointmentItem Dim r As Long On Error Resume Next Worksheets("Sheet1").Activate Set olApp = GetObject("", "Outlook.Application") On Error GoTo 0 If olApp Is Nothing Then On Error Resume Next Set olApp = CreateObject("Outlook.Application") On Error GoTo 0 If olApp Is Nothing Then MsgBox "Outlook is not available!" Exit Sub End If End If Dim mysub, myStart, myEnd mysub = TextBox1 myStart = DTPicker1 & DatePicker2 myEnd = DTPicker1 & DatePicker3 Set olAppItem = olApp.CreateItem(olAppointmentItem) 'creates a new appointment With olAppItem 'set default appointment values .Location = "" .Body = "" .ReminderSet = True .BusyStatus = olFree .RequiredAttendees = "" On Error Resume Next .Start = myStart .End = myEnd .Subject = TextBox1 .Attachments.Add ("c:\temp\somefile.msg") .Location = "" .Body = "" .ReminderSet = True .BusyStatus = olBusy .Categories = "Orange Category" On Error GoTo 0 .Save 'saves the new appointment to the default folder End With Set olAppItem = Nothing Set olApp = Nothing MsgBox "Done !" End Sub
原文:https://stackoverflow.com/questions/41309744
最满意答案
尝试这个解决方案,正如亚历克斯所提到的,没有必要在document.ready中编写它,因为你没有做任何DOM操作。
setInterval(function(){ imStillAlive(); }, 6000); function imStillAlive() { jQuery.post('/users/update_useractive', function(data){ alert("updated"); });//post }
Try this solution, as mention by Alex, it not necessary to write it inside document.ready as you are not doing any DOM manipulation.
setInterval(function(){ imStillAlive(); }, 6000); function imStillAlive() { jQuery.post('/users/update_useractive', function(data){ alert("updated"); });//post }
相关问答
更多-
当你执行javascript:submitComment() ,调用一个全局函数submitComment 。 由于submitComment是在jQuery(function($) { ... })函数中定义的,因此它不是全局的。 因此, window.submitComment undefined (因此undefined is not a function )。 全局变量存储在window对象中。 因此,您可以将submitComment公开为全局: window.submitComment = fu ...
-
我使用setInterval和jQuery获得“函数未定义”。(I get “function not defined” using setInterval with jQuery. Why?)[2022-08-11]
尝试这个解决方案,正如亚历克斯所提到的,没有必要在document.ready中编写它,因为你没有做任何DOM操作。 setInterval(function(){ imStillAlive(); }, 6000); function imStillAlive() { jQuery.post('/users/update_useractive', function(data){ alert("updated"); });//post } Tr ... -
停止setInterval(Stopping setInterval)[2023-12-17]
你真的想要这个吗? function initTimer(){ var n = 0; var e = document.getElementById("output"); var timerid = setInterval( function() { e.innerHTML = n; if (n < 10) // count until ten n++; else clearInterva ... -
你可以停止循环 clearInterval(interval); 并重新开始新的时间: interval = setInterval(fn, newTime); You can stop the loop clearInterval(interval); And start over with the new time: interval = setInterval(fn, newTime);
-
clearInterval()使用setInterval()后的未定义错误(clearInterval() Undefined Error After Using setInterval())[2022-09-03]
这是一个范围问题。 您的变量timerID在onmouseout中不可见。 通常这是一个好主意,把东西放入一个函数中,而不是将它们全部变成属性。 这避免了所有这些范围问题。 使用处理程序而不是on-... -atrributes是一个更好的主意。 在onmouseover属性外定义你的函数,并在清除它的mouseout调用另一个函数。 像这样的东西(以避免讨厌的全球变化) var handler = (function(){ var timerID; function scrollLeft( ... -
我用小提琴来CSS,所以数字重叠而不是抖动。 还默认隐藏所有项目。 http://jsfiddle.net/9fXmA/1/ var items = $('.parent .item'); var item = items.first(); function cycle() { // Take 500 MS to fadeout first item.fadeOut( 500 ); // Get next item item = item.next(); // When ...
-
var t = SetInterval(nextSlide(),3000) ^ ^^ 你有两个问题 没有SetInterval,s是小写。 其次,你正在调用nextSlide()函数,而不是分配它 var t = window.setInterval(nextSlide, 3000); var t = SetInterval(nextSlide(),3000) ^ ^^ You have 2 p ...
-
这是要走的路: setInterval((function(i){ return function(){ moveCloud(i); }; })(cnt), 100); This is the way to go: setInterval((function(i){ return function(){ moveCloud(i); }; })(cnt), 100);
-
使用var使用本地(闭包)变量 由于您以字符串形式提供功能,因此您必须使用全局变量。 您的代码应该使用在事件匿名函数闭包中定义的局部变量来编写,如下所示: $('.cloud').each(function() { var $cloud = $(this); var ranNum = Math.floor(Math.random() * 5000); setInterval(function() { // $cloud won't have any particula ...
-
您可能复制并粘贴了代码,但它中包含一些不良字符。 尝试在新文件中手动重新键入代码。 侧面说明,你可以使整个事情变得更加高效和可靠: (function() { var thespan = document.getElementById('span'), toggle = true; window.setInterval(function() { toggle = !toggle; thespan.style.color = toggle ? " ...