VBA->Delphi!!!(50分)

  • 主题发起人 主题发起人 ddntyz
  • 开始时间 开始时间
D

ddntyz

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在又有一个问题了。
在VBA里可以用
ActiveDocument.PageSetup.TopMargin := 16;
ActiveDocument.PageSetup.BottomMargin := 16;
ActiveDocument.PageSetup.RightMargin := 16;
ActiveDocument.PageSetup.LeftMargin := 16;
ActiveDocument.PageSetup.PageWidth := 400;
ActiveDocument.PageSetup.PageHeight := 300;
来设置页面,页边距,怎么把它转换成DELPHI的语言呢?
我用了
V.ActiveDocument.PageSetup.TopMargin := 16;
V.ActiveDocument.PageSetup.BottomMargin := 16;
V.ActiveDocument.PageSetup.RightMargin := 16;
V.ActiveDocument.PageSetup.LeftMargin := 16;
V.ActiveDocument.PageSetup.PageWidth := 400;
V.ActiveDocument.PageSetup.PageHeight := 300;

但是在VBA里面的值代入DELPHI中就不行呢?
请求各位帮帮忙!谢谢!!
 
what error message popup?
 
没有错误,可以执行通过,但是所作出来的图片(我把WORD做成了图片)不是设置的大小。
总是超过边界,也就是说,文章实际设置的大小超出了我的边界,有部分的文字漏掉了。
知道这是什么原因吗?
谢谢!!
 
WordDocument1: TWordDocument;
......
WordDocument1.PageSetup.TopMargin := 16;
WordDocument1.PageSetup.BottomMargin := 16;
WordDocument1.PageSetup.RightMargin := 16;
WordDocument1.PageSetup.LeftMargin := 16;
WordDocument1.PageSetup.PageWidth := 400;
WordDocument1.PageSetup.PageHeight := 300;

 
有没有更改打印机设置或机型,不同的打印机边距不一样。
 
to linsb
  非常感谢您的回复。我用的是OLECONTAINER的那个控件。不过,我会试一下WORDDOCUMENT
的。但是,对于现在的情况来讲,是不是不能用Activedocument呢?
to savetime
非常感谢您的回复。我所做的这个程序并不是用与打印的。而是用于播放的。
 
我也碰到了这个问题,我现在使用的就是用Delphi创建一个VBA程序,去设置page属性的
我想你也可以这么去做得吧!
 
怎么用Delphi创建一个VBA程序呢?
我没有做过?能指点一下吗?
 
To ddntyz
我习惯用Servers里的控件,我给出的代码,在delphi5已通过,先在Word中取得VBA代码,
然后在delphi中改写(按delphi的语法约定),可参考Word2000.bas(Ocx/Servers),反复试验。
 
to jshen:
怎么用Delphi创建一个VBA程序呢?
我也想知道!
 
ExcelWorkbook1.VBProject.VBComponents.Add(1);
//在VBA中添加一个模块
//添加VBA中第一个模块的第一行
ExcelWorkbook1.VBProject.VBComponents.Item(1).CodeModule.InsertLines (1,'Sub GiveScore()');
//以下省略
Word也应该类似的
 
To linsb
按理说用OLECONTAINER也应该行的通呀!
 
我又有了另外的一个问题了:
1、怎样才能选取一页的内容呢?我用
  v.Selection.GotoNext (1);
v.Selection.HomeKey (Unit:= 6, Extend:= 1);
但是在剪切之后页面的格式发生了很难控制的变化。有
什么方法一页一页的选取呢?
2、选取“全部”是用V.Selection.WholeStory;
  有什么办法可以对它撤消吗?
 
To ddntyz
以前用过OLECONTAINER,现在用Servers的控件,我觉得后者更好一些!
也可能是我用顺手了。VBA->delphi并不都很顺,公开发表的复杂的例子很少,
大部分要自己摸索。
 
我发现用方法一:
v.Selection.GotoNext (1);
v.Selection.HomeKey (Unit:= 6, Extend:= 1);
所做的拷贝不能把格式一同考下来。
但是用方法二:
V.Selection.WholeStory
就可以,有没有方法在使用方法一的时候能使它的格式(如页面的设置)一同考下来呢?
 
页面设置是与分节符关联到一起的,简单的办法是把那页所属的分节符考过去
或者自己手工一项项取得页面设置再赋过去。
切换到大纲视图就可以看到分节符
 
TO djflying:
谢谢!能说详细一点吗?我就是不知道应该怎样得到我所需要的“页面设置”?
“分节符”是在哪里可以得到呢?请详细说明!
 
1、有谁知道怎样的到WordDocument的句柄吗?
2、如果我是用WordDocument来打开Word的话,怎样把里边的内容存到一个Image里边呢?
谢谢!
 
你到word中去查一下pagesetup对象的用法就知道怎么得到页面设置了。
你用大纲视图时,可以看到每一节的后面有条黑粗线,那就是一个分节符,可以单独选中它的。

 
什么是“大纲视图”?怎么用呀?
 
后退
顶部