主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

向下

通过引用传递参数 找到类似的分支


AFROLOV   (2002-07-15 13:18) [0]

一个问题,例如通过引用正确传递参数到Word宏(Word 2000):
WordApplication:TWordApplication;
函数GetFormFieldAtPoint(var MSWord:TWordApplication; x:integer; y:integer; var SelStart:Cardinal):integer;
VAR
OV_x,OV_y,pvarPar:OleVariant;
开始
OV_x:= x;
OV_y:= y;
pvarPar:= SelStart;
result:= MSWord.Run(“GetFormFieldAtPoint”,OV_x,OV_y,pvarPar);
SelStart:= pvarPar; //由于某种原因,pvarPar的值不会改变,尽管在宏内部分配了所需的值。
结束;
宏本身:

函数GetFormFieldAtPoint(ByVal x As Long,ByVal y As Long,ByRef SelSt As Long)As Long
朦胧我
Dim st as long
On Error GoTo out
MsgBox Str(SelSt)
st = ActiveWindow.RangeFromPoint(x,y).Start
对于i = 1 To ActiveDocument.FormFields.Count
如果((ActiveDocument.FormFields.Item(i).Range.Start <= st)和(ActiveDocument.FormFields(i).Range.End> = st))那么
GetFormFieldAtPoint = i
SelSt = st
MsgBox Str(SelSt)
退出功能
结束如果
接下来,我
出:

MsgBox Str(“失败”)
GetFormFieldAtPoint = 0
函数结束
如果你这样做
MS Word:变体;
MSWord:= CreateOleObject(Word.Application);
然后调用宏然后一切正常。



Digitman   (2002-07-15 13:36) [1]

有点不清楚......

在这一行
result:= MSWord.Run(“GetFormFieldAtPoint”,OV_x,OV_y,pvarPar);

MSWord来自哪里?

不是结果
MSWord:= CreateOleObject(Word.Application); ?

如果是这样,如何理解废话
“pvarPar值不会改变”和“一切正常”?




Fiend   (2002-07-15 13:42) [2]

那是数码家
对不起,这不是主题。

为什么你还没有喝醉?7



Digitman   (2002-07-15 13:51) [3]

>恶魔

是什么让你觉得? 我已经没有编织韧皮))))
因此,作者仍然无法工作,分支现在要去“抢购”))))



AFROLOV   (2002-07-15 14:00) [4]

2 Digitman©(15.07.02 13:36)
如果没有明确表达,我道歉。
我考虑了两种使用MSWord的方法 - 后期绑定(MSWord:= CreateOleObject(..);)在这种情况下,链接可以毫无问题地传递,但工作速度还有很多不足之处(因此必须放弃它),并且第二种是通过早期绑定 - 速度很好,但通过参考传递参数,问题仍然存在。


>在这一行
> result:= MSWord.Run(“GetFormFieldAtPoint”,OV_x,OV_y,pvarPar);
>
> MSWord值它来自哪里?

MSWord值作为参数传递给它。

呼叫问题f-ii

num:= GetFormFieldAtPoint(WordApplication,x,y,SelectionStart);







AFROLOV   (2002-07-15 14:39) [5]

没有人这样做过吗?



Digitman   (2002-07-15 15:06) [6]

我怀疑绑定的类型在这里起作用。

最后,因为你可以这样做:

使用Word97,...

VAR
MSWord:_Application; //界面链接

1.
MSWord:= IDispatch(CreateOleObject(“Word.Application”))as _Application;

2.
MSWord:= CreateComObject(CLSID_Word服务器))为_Application;

这两种方法最终都允许您实现以前的绑定(同时,正如您所看到的,您已经知道1服务器加载方法可能正常工作)



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

楼上









内存:0.57 MB
时间:0.041 c
14-95503
颅骨
2002-07-01 13:43
2002.07.29
如果没有安装Delphi,为什么代码D5不起作用


14-95526
电子人
2002-07-01 21:51
2002.07.29
哇!


1-95295
马特维
2002-07-17 12:18
2002.07.29
远程应用程序关闭


1-95442
Alexander_D6_XP
2002-07-17 00:30
2002.07.29
动态表格


1-95448
strel
2002-07-16 20:09
2002.07.29
使用DLL时出错!!! 麻烦:)





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский