Delphi操作Wrod的几个知识点var wApp,work:Variant; try wApp:=GetActiveOleObject('word.Application'); except wApp:=CreateOleObject('word.Application'); end;//---------------替换字符-------------------- wApp.selection.find.text:='<%a2%>'; wApp.selection.find.replacement.text:=lb; wApp.selection.find.execute(replace:=wdReplaceAll);//----------------------隐藏WORD菜单和工具栏----------------------if OC.State in [osUIActive] then begin OC.OleObjectInterface.QueryInterface(IOleInPlaceObject,IOO); IOO.UIDeactivate; IOO :=nil; end;//-----------------根据书签导数据------ wApp.Selection.GoTo(What:=wdGoToBook,Name:='ZCZD'+IntToStr(i)); wApp.Selection.typetext('■')//-------------------生成页眉页脚并写入数据---------- wApp.Selection.GoTo(What:=wdGoToPage, Which:=wdGoToNext, Name:='FLAG'); If wApp.ActiveWindow.View.SplitSpecial <> wdPaneNone Then wApp.ActiveWindow.Panes(2).Close; If (wApp.ActiveWindow.ActivePane.View.Type = wdNormalView) Or (wApp.ActiveWindow.ActivePane.View.Type = wdOutlineView) Then wApp.ActiveWindow.ActivePane.View.Type := wdPrintView; wApp.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader; wApp.Selection.ParagraphFormat.Borders.item(wdBorderLeft).LineStyle := wdLineStyleNone; wApp.Selection.ParagraphFormat.Borders.item(wdBorderRight).LineStyle := wdLineStyleNone; wApp.Selection.ParagraphFormat.Borders.item(wdBorderTop).LineStyle := wdLineStyleNone; wApp.Selection.ParagraphFormat.Borders.item(wdBorderBottom).LineStyle := wdLineStyleNone; wApp.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageFooter; wApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight; if (DM.XM_DS.FieldByName('tg_flag').AsInteger = 2) and (DM.XM_DS.FieldByName('tj_flag').AsInteger = 0) then wApp.Selection.TypeText(Text:='合`格`任`务`书') else wApp.Selection.TypeText(Text:='不合格任务书'); wApp.ActiveWindow.ActivePane.View.SeekView := wdSeekMainDocument;
我简单弄了一下,但是只能复制一个字到另一个文档中,另外循环不知怎么做,没学过VB,不知道它的语法,哪位同志能帮弄一下 Sub 第一个宏() ' ' 第一个宏 Macro ' 宏在 2008-6-18 由 科力xp_sp2万能ghost_v3.0 录制 ' Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle With Selection.Find .Text = "*" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If End Sub
又进了一步 Windows("七年级地理第二学期复习提纲").Activate If Selection.Find.Execute Then Selection.Copy Windows("文档 1").Activate Selection.Paste End If 把上面代码复制无数遍可以完成把所有有下划线的句子复制到文档1中,我想用循环,可是不知怎么判断是否已经查找到最后,另循环语句怎么写,再请帮忙一下
在宏操作中用VBscript加上你的查找条件语句
Delphi操作Wrod的几个知识点var
wApp,work:Variant; try
wApp:=GetActiveOleObject('word.Application');
except
wApp:=CreateOleObject('word.Application');
end;//---------------替换字符-------------------- wApp.selection.find.text:='<%a2%>';
wApp.selection.find.replacement.text:=lb;
wApp.selection.find.execute(replace:=wdReplaceAll);//----------------------隐藏WORD菜单和工具栏----------------------if OC.State in [osUIActive] then
begin
OC.OleObjectInterface.QueryInterface(IOleInPlaceObject,IOO);
IOO.UIDeactivate;
IOO :=nil;
end;//-----------------根据书签导数据------ wApp.Selection.GoTo(What:=wdGoToBook,Name:='ZCZD'+IntToStr(i));
wApp.Selection.typetext('■')//-------------------生成页眉页脚并写入数据---------- wApp.Selection.GoTo(What:=wdGoToPage, Which:=wdGoToNext, Name:='FLAG');
If wApp.ActiveWindow.View.SplitSpecial <> wdPaneNone Then
wApp.ActiveWindow.Panes(2).Close;
If (wApp.ActiveWindow.ActivePane.View.Type = wdNormalView) Or (wApp.ActiveWindow.ActivePane.View.Type = wdOutlineView) Then
wApp.ActiveWindow.ActivePane.View.Type := wdPrintView;
wApp.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
wApp.Selection.ParagraphFormat.Borders.item(wdBorderLeft).LineStyle := wdLineStyleNone;
wApp.Selection.ParagraphFormat.Borders.item(wdBorderRight).LineStyle := wdLineStyleNone;
wApp.Selection.ParagraphFormat.Borders.item(wdBorderTop).LineStyle := wdLineStyleNone;
wApp.Selection.ParagraphFormat.Borders.item(wdBorderBottom).LineStyle := wdLineStyleNone;
wApp.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageFooter;
wApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight;
if (DM.XM_DS.FieldByName('tg_flag').AsInteger = 2) and (DM.XM_DS.FieldByName('tj_flag').AsInteger = 0) then
wApp.Selection.TypeText(Text:='合`格`任`务`书')
else
wApp.Selection.TypeText(Text:='不合格任务书');
wApp.ActiveWindow.ActivePane.View.SeekView := wdSeekMainDocument;
Sub 第一个宏()
'
' 第一个宏 Macro
' 宏在 2008-6-18 由 科力xp_sp2万能ghost_v3.0 录制
'
Selection.Find.ClearFormatting
Selection.Find.Font.Underline = wdUnderlineSingle
With Selection.Find
.Text = "*"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
End Sub
Windows("七年级地理第二学期复习提纲").Activate
If Selection.Find.Execute Then
Selection.Copy
Windows("文档 1").Activate
Selection.Paste
End If
把上面代码复制无数遍可以完成把所有有下划线的句子复制到文档1中,我想用循环,可是不知怎么判断是否已经查找到最后,另循环语句怎么写,再请帮忙一下
顶下.来接分了....呵呵...