我期待以编程方式从VBA冻结Excel工作表的顶行.最终目标是产生与View > Freeze Panes > Freeze Top Row
Excel 2007中的命令相同的效果,以便冻结工作表的顶行,并且用户即使在滚动数据时也可以看到工作表的顶行.
是否可以以编程方式从ASP.NET中的服务器代码触发回发?我知道可以做一个Response.Redirect或Server.Transfer重定向到一个页面,但有没有办法在服务器代码中触发回发到同一页面(即不使用javascript技巧提交表单)?
我正在尝试以编程方式添加超链接到从我已移动到另一个文件夹的电子邮件创建的任务.目标是让任务包含链接到Outlook项目的超链接,该项目被移动到"已处理的电子邮件"文件夹"但我遇到了一些麻烦.在移动后获取对象的EntryID的最佳方法是什么?
但是,我不明白如何移动MailItem,然后在移动后以编程方式获取其新的EntryID."天真"的方式不起作用.使用Move方法移动MailItem对象后,EntryID属性不会反映ID的更改.
outlook:<EntryID>
如果outlook项目保留在收件箱中,则使用该格式创建指向Outlook项目的超链接很容易,因为我只能获取我链接到的对象的EntryID.但是,Outlook会在移动对象时更改EntryID.我想了解如何获取更新的ID,以便我可以构建一个准确的链接.
请参阅以下示例代码.消息框显示objMail的EntryID属性仍然返回相同的值,尽管移动了对象.但是,在目标文件夹中的邮件上运行单独的宏可确认EntryID已随移动而更改.
Sub MoveObject(objItem As Object)
Select Case objItem.Class
Case olMail
Dim objMail As MailItem
Set objMail = objItem
MsgBox (objMail.EntryID)
Dim inBox As Outlook.MAPIFolder
Set inBox = Application.ActiveExplorer().Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
Dim destFolder As Outlook.MAPIFolder
Set destFolder = inBox.Folders("Processed Email")
If (Application.ActiveExplorer().CurrentFolder.Name <> destFolder.Name) Then
objMail.Move destFolder
End If
MsgBox (objMail.EntryID)
End Select
End Sub
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
我想使用正则表达式(Perl兼容)能够找到由其他两个模式包围的模式,但不包括匹配匹配中周围模式的字符串.
例如,我希望能够找到字符串的出现次数:
Foo Bar Baz
但只有匹配包括中间部分:
酒吧
我知道这是可能的,但我不记得该怎么做了.
以前,我有一个包含内部System.Collections.Generic.List<Item>
的类(其中Item是我创建的类).包装器类提供了几个集合级属性,这些属性提供了列表中项目的总计,平均值和其他计算.我正在创建一个BindingSource
围绕这个包装List<>
和另一个BindingSource
围绕我的类,并能够通过第一个BindingSource
和包装类的集合级属性使用第二个来获取包装列表中的Items .
一个简化的例子如下:
public class OldClass()
{
private List<Item> _Items;
public OldClass()
{
_Items = new List<Item>();
}
public List<Item> Items { get { return _Items; } }
// collection-level properties
public float AverageValue { get { return Average() } }
public float TotalValue { get { return Total() } }
// ... other properties like this
}
Run Code Online (Sandbox Code Playgroud)
使用以这种方式创建的绑定源:
_itemsBindingSource = new BindingSource(oldClass.Items);
_summaryBindingSource = new BindingSource(oldClass);
Run Code Online (Sandbox Code Playgroud)
最近,我尝试将此类更改为派生System.Collections.Generic.List<Item>
而不是保留包装 …