急!急!急!急!求VB高手请帮忙解决问题

asjlovelan 2012-12-27 03:01:25
各位大神,我刚到公司接手了一个VB C/S模式的卫监项目,因为之前没接触过VB,所以希望大家帮忙解决
主要问题是关于盖电子章的,之前项目的负责人是将需要盖章的文书用Word文档的模板写好,模板中需要填写的内容用书签标记,然后再项目中将页面的内容保存到word文档中,他是用坐标的方式进行盖章的,具体的方法我也看不懂,我来他就走了,问其他同事都不知道,我现在是急的死,他们教我调那个章的位置也就是讲那坐标参数该改,或者调下word模板的宽度,每天这样调来调去,今天调好了,明天又不行了,一下好一下不好,我都郁闷啦,都怪自己什么都不懂,在网上找了些资料,也不是很全,真心的希望大家教教我,到底怎么设置那个章的位置,最希望是能够给我一个简单的实例额,感激不尽
...全文
146 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
asjlovelan 2012-12-28
Public Shared Sub moveCursorByInputPoint(ByVal doc As MSWord.Document, ByVal posX As Int32, ByVal posY As Int32, ByVal pageNumber As Int32, ByVal sealBookmark As String) '选中第几页,常量 Dim wdGoToPage As Int32 = 1 Dim wdGoToLine As Int32 = 3 Dim wdGoToAbsolute As Int32 = 1 Dim wdGoToRelative As Int32 = 2 Dim wdCharacter As Int32 = 1 Dim currentTop As Int32 = 0 Dim currentLeft As Int32 = 0 Dim myRange As MSWord.Range = doc.Range(0, 0) posX = 0 posY = 0 '将myRange设置到文档的第几页的开始位置 myRange = myRange.GoTo(MSWord.WdGoToItem.wdGoToPage, MSWord.WdGoToDirection.wdGoToAbsolute, pageNumber) 'myRange.Move(wdCharacter, 1) Dim wdHorizontalPositionRelativeToTextBoundary As Int32 = 7 '水平 Dim wdVerticalPositionRelativeToTextBoundary As Int32 = 8 ' 垂直 '垂直移动myRange,使得myRange居顶达到Y坐标点 currentTop = myRange.Information(Microsoft.Office.Interop.Word.WdInformation.wdVerticalPositionRelativeToTextBoundary) Dim lasttop As Int32 = -1 '页面的高度和宽度 Dim docPageHeight As Int32 = doc.PageSetup.PageHeight - (doc.PageSetup.TopMargin + doc.PageSetup.BottomMargin) Dim docPageWidth As Int32 = doc.PageSetup.PageWidth - (doc.PageSetup.LeftMargin + doc.PageSetup.RightMargin) ' While currentTop < posY And lasttop <> currentTop And currentTop < docPageHeight lasttop = currentTop myRange = myRange.GoTo(wdGoToLine, wdGoToRelative, 1) 'myRange.move(wdGoToLine, 1) currentTop = myRange.Information(Microsoft.Office.Interop.Word.WdInformation.wdVerticalPositionRelativeToTextBoundary) End While '水平移动myRange,使得myRange居左达到X坐标点 currentLeft = myRange.Information(wdHorizontalPositionRelativeToTextBoundary) Dim lastleft As Int32 = -1 While currentLeft < posX And lastleft <> currentLeft And currentLeft < docPageWidth lastleft = currentLeft Dim lResult = myRange.Move(wdCharacter, 1) currentLeft = myRange.Information(wdHorizontalPositionRelativeToTextBoundary) End While '在此插入书签作为保护文档的位置 doc.Bookmarks.Add(sealBookmark, myRange) End Sub 你看这方法,虽然我不懂,可好多变量压根就没用过,而且那两个循环,永远都不可能执行啊
  • 打赏
  • 举报
回复
asjlovelan 2012-12-28
我是对VB一点都不懂,以前也没弄过电子章 我面试的时候都是C#的,以及数据库的
  • 打赏
  • 举报
回复
沐NeMo 2012-12-28
将填好的资料,打印预览到PrintDocument上。最后在相应的位置上再画上你要的章。 也可以用Excel做模板比较容易控制格式。 我也是略知一二而已。
  • 打赏
  • 举报
回复
twohorses 2012-12-28
都怪自己什么都不懂 怎么应聘到的职位?
  • 打赏
  • 举报
回复
相关推荐
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2012-12-27 03:01
社区公告
暂无公告