当我们迁移到office 2010-64位版本时,我发现了以下函数调用的问题.
Private Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Run Code Online (Sandbox Code Playgroud)
根据http://msdn.microsoft.com/en-us/library/ee691831.aspx链接提供的信息.我已经更改了上面的调用,它在Office 2010 64位版本上运行良好.
Private Declare PtrSafe Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Run Code Online (Sandbox Code Playgroud)
问题是,我需要同样调用以处理旧的Office版本,并且它会在旧版本上引发编译错误.
有谁知道如何使这个电话适用于办公室2010和旧办公室版本.
根据项目要求,我们需要将图像从word文档转换为位图对象.为此,我们尝试将inlineshape对象从Microsoft.Office.Interop.Word dll转换为位图.但无法获得成功,将剪贴板对象设为null.请找到我们尝试过的代码如下;
using System.Drawing;
using Microsoft.Office.Interop.Word;
namespace WordApp1
{
class Program
{
static void Main(string[] args)
{
Application wordApp = (Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
Documents documents = wordApp.Documents;
Document d = null;
foreach (Document document in documents)
{
if (document.ActiveWindow.Caption.Contains("{Word document name}"))
{
d = document;
}
}
foreach (InlineShape shape in d.InlineShapes)
{
shape.Range.Select();
d.ActiveWindow.Selection.Range.CopyAsPicture();
System.Windows.Forms.IDataObject dobj = System.Windows.Forms.Clipboard.GetDataObject(); //Getting clipboard object as null
if(dobj.GetDataPresent(typeof(System.Drawing.Bitmap)))
{
Bitmap bmp;
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bmp = (Bitmap)dobj.GetData(typeof(System.Drawing.Bitmap));
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人致力于将单词图像转换为位图?如果您可以指导我们如何继续将图像从word文档转换为位图对象,那将是非常有帮助的.
我正在用C#开发一些程序,它将使用outlook 2007发送邮件.为此,我希望在邮件正文中创建一个表,并且需要在其中显示所需的数据.任何人都可以让我知道如何在邮件正文中以编程方式创建表.
我有几台机器,我希望安排除外.我需要远程访问这些机器以获得优惠.每当我从这些机器开始计算并最小化会话时,我的脚本就会失败.所以只是想知道是否可以在保持会话最小化的同时执行QTP脚本.如果是,则需要在脚本中进行哪些更改.谢谢.
c# ×2
.net ×1
32bit-64bit ×1
automation ×1
email ×1
html-email ×1
image ×1
interop ×1
ms-office ×1
ms-word ×1
outlook ×1
outlook-2007 ×1
qtp ×1
vba ×1