小编Lar*_*rry的帖子

关闭Outlook提醒

我没有运气在显示之前以编程方式解除Outlook警报.

Private Sub Application_Reminder(ByVal Item As Object)
    Dim objRem As Reminder
    Dim objRems As Reminders
    If Item.Subject = "TESTING" Then
        'downloadAndSendSpreadReport
        Set objRems = Application.Reminders
        i = 0
        For Each objRem In objRems
            i = i + 1
            If objRem.Caption = "TESTING" Then
                objRems.Remove i
                If objRem.IsVisible Then
                    objRem.Dismiss
                End If
                Exit For
            End If
        Next objRem
        Item.ReminderSet = False
        Item.Delete
        'Item.Dismiss
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

我想使用此约会项作为某些宏的触发器,而无需用户手动关闭提醒.

在我看来,当触发此事件时,提醒项目不可见,因此无法解除

我试图从提醒集中删除它,但这似乎从我的日历中删除了整个事件.此外,它仍将显示不是ASCII格式的STRANGE TITLE提醒.

我试图将约会项目的reminderSet属性设置为false,仍会弹出提醒属性.

所以我正在寻找一种方法来a)在它自动弹出/ b)之前解除提醒.在自动弹出后解除提醒....或者在Outlook中执行预定MACRO的任何解决方法.(请注意,我无权在Windows和VBS中使用预定作业.)

更新:

现在我有以下代码.提醒正在删除,但它仍会弹出一个提醒窗口,其标题为"没有预约/提醒"这样的内容.

在Reminder Object isVisible …

outlook vba reminders outlook-vba

8
推荐指数
2
解决办法
7680
查看次数

如何在vba中的excel中刷新/加载RTD Bloomberg函数(BDH)

我想知道VBA代码是否有办法强制使用bloomberg函数(在电子表格中)更新其值(任何BDH函数)

目标开发人员面临类似问题/拥有彭博终端

我试过了什么 -

Application.RTD.RefreshData
Application.RTD.throttleInterval = 0
Application.CalculateFull
Run Code Online (Sandbox Code Playgroud)

BDH功能不会重新加载它们.

我现在可以刷新它们的唯一方法是:单击BloomBerg加载项功能区上的"刷新工作簿"按钮.

由于Bloomberg加载项在VBE中被锁定,我无法找到必要的代码.我错过了任何彭博参考吗?任何彭博专家/用户都能指出我正确的方向吗?谢谢.

excel vba excel-vba bloomberg

7
推荐指数
2
解决办法
6万
查看次数

如何将VBA代码重写为VBScript代码(工具/规则)

我无法使用该search功能在网站上找到此信息.我在这篇文章中看到了类似的帖子 On C#into Java和VBA into C#

我提出这个问题是因为我认为这至少可以部分实现,如果不是全部的话,这将是其他人进行转换的有用指南.在网上找到的示例问题:这里

经过一些处理(代码更改)后,是否可以将所有VBA转换为VBS

如果没有,什么类型的VBA程序无法转换?

如果是,是否有自动执行此操作的vba程序或任何工具?如果没有,有人可以提供从VBA到VBS的完整转换规则列表吗?(如果可能的话,我想编写一个VBA程序来自动执行此过程)

我只知道以下内容Rules (如果我错了请纠正我)

  • 删除声明语句的类型

VBA:Dim a as string
VBS:Dim a

VBA:Xlup
VBS:-4162

  • 您不能redim someArray( A to B)在VBS中使用语法(VBS始终以0索引开头)

VBA:Redim someArray( 1 to 10)
VBS:redim someArray(10)

  • 您不能在VBS中的for循环中特定迭代器

VBA:

For i = 1 to 10 
    'do something
next i 
Run Code Online (Sandbox Code Playgroud)

VBS:

For i = 1 to 10 
    'do something
next 
Run Code Online (Sandbox Code Playgroud)

始终需要VBS中的完全合格范围(只是一个演示.)

VBA: range("A1") = …

vbscript vba

6
推荐指数
0
解决办法
7582
查看次数

字符串(dd/mm/yyyy)到sql server的日期

编辑:解决方案是在参考文章的解决方案.我不小心忽略DATETIME - > Varchar(10)

`CONVERT的语法:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )`
Run Code Online (Sandbox Code Playgroud)

我知道这篇文章

SQL Server(2005,2000,7.0)没有任何灵活的,甚至是非灵活的方式来采用字符串格式的任意结构化日期时间并将其转换为日期时间数据类型.

所以我正在寻找一种解决方案,只解决这种特殊的String格式.

比方说,我在SQL Server中的表字段:inputDatedatetime格式

以下代码无需转换/强制转换

SELECT inputDate
FROM   some_table
WHERE  inputDate > '01/24/2013' 
Run Code Online (Sandbox Code Playgroud)

但它不会起作用

SELECT inputDate
FROM   some_table
WHERE  inputDate > '24/01/2013'
Run Code Online (Sandbox Code Playgroud)

投掷一个 The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

然后我试了一下

SELECT inputDate
FROM   some_table
WHERE  inputDate > CONVERT(VARCHAR(10), '24/01/2013', 103) …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

4
推荐指数
1
解决办法
1万
查看次数

如何在VBA中的Outlook-2007中的“已发送邮件”文件夹中获取Message-Id或标题

这是这个主要问题的一个子问题

我可以使用以下功能循环获取其他文件夹的Internet标头

Sub testing()
Dim ns As Outlook.NameSpace
Dim folder As MAPIFolder
 Dim item As MailItem
Set ns = Session.Application.GetNamespace("MAPI")
Set folder = ns.GetDefaultFolder(olFolderInbox)

 For Each item In folder.Items

    If (item.Class = olMail) Then
        GetInetHeaders item
    End If
Next item

End Sub

Function GetInetHeaders(olkMsg As MailItem) As String

    ' Purpose: Returns the internet headers of a message.'

    ' Written: 4/28/2009'

    ' Author:  BlueDevilFan'

    ' Outlook: 2007'

    Const PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"

    Dim olkPA As Outlook.PropertyAccessor

   Set olkPA = olkMsg.PropertyAccessor …
Run Code Online (Sandbox Code Playgroud)

outlook vba outlook-2007

4
推荐指数
1
解决办法
5301
查看次数

VBA有一个子运行另一个子

如何运行sub存储在另一个工作表的模块中?

worksheet1

sub endDay()
    'something here
end sub
Run Code Online (Sandbox Code Playgroud)

worksheet2

sub reCalc()
    'something here
end sub
Run Code Online (Sandbox Code Playgroud)

我想recalc能够自己运行,但我希望能够按下"endDay"按钮,让它做它的事情,然后在结束时预先形成"recalc"而不是按一个然后转到sheet2到按另一个.

有人可以给我一个样品,这样我就可以知道从哪里开始?

excel vba excel-2003 excel-vba

3
推荐指数
2
解决办法
4万
查看次数

使用 VBA 将整个 Excel 工作簿复制到另一个工作簿

我有一本包含 4 个工作表的工作簿(“初始工作簿”)。
我需要将所有四个工作表复制到不同的工作簿(“新工作簿”)。

我有下面的代码,它允许我从新工作簿导航到初始工作簿,然后在一个工作表上复制特定范围。我想对此进行修改,以允许我选择并复制原始工作表上的所有四个工作表。

我们将非常感谢您提供的任何帮助:

Private Sub CommandButton1_Click()

    Dim wkbCrntWorkBook As Workbook
    Dim wkbSourceBook As Workbook

    Dim rngSourceRange As Range
    Dim rngDestination As Range

    Set wkbCrntWorkBook = ActiveWorkbook

    With Application.FileDialog(msoFileDialogOpen)
        .Filters.Clear
        .Filters.Add "Excel 2002-03", "*.xls", 1
        .Filters.Add "Excel 2007", "*.xlsx; *.xlsm; *.xlsa", 2
        .AllowMultiSelect = False
        .Show

        If .SelectedItems.Count > 0 Then
            Workbooks.Open .SelectedItems(1)
            Set wkbSourceBook = ActiveWorkbook
            Set rngSourceRange = Application.InputBox(prompt:="Select source range", Title:="Source Range", Default:="$A:$CS", Type:=8)
            wkbCrntWorkBook.Activate
            Set rngDestination = Application.InputBox(prompt:="Select destination cell", Title:="Select Destination", Default:="A1", Type:=8) …
Run Code Online (Sandbox Code Playgroud)

excel vba

2
推荐指数
1
解决办法
3万
查看次数

如何在cmd中调用嵌套程序

程序A(cmd.exe\C)(取1个参数)

程序B :(取一个或多个参数)

C1,C2,C3,......:一个agruments列表

如果我输入A B C1 C2 C3cmd提示符,则需要解释

A (B (C1 C2 C3)) (C是B的参数,B是A的参数)

但不是AS A (B) (C1) (C2) (C3)(B,C1,C2,C3,....是A的论据)

我应该如何在cmd提示符中转义/重定向/管道?

提前致谢

windows shell cmd batch-file

1
推荐指数
1
解决办法
1965
查看次数