Word中如何通过查找的方法把所有有下划线的句子,统一剪贴到文档的最后位置,中间用逗号隔开,原来的位置用下划线代替

解决方案 »

  1.   

    个人感觉用word宏可以做到这一点,但对宏不熟悉,所以讨教诸位了
      

  2.   

    在Word 中依次单击“工具/宏(M)/录制新宏…”
    在宏操作中用VBscript加上你的查找条件语句
      

  3.   

    对WORD操作过,应该只有调用相应的接口才可以实现,不过宏用来处理Word等还是很好的.
      

  4.   


    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;
      

  5.   

    我简单弄了一下,但是只能复制一个字到另一个文档中,另外循环不知怎么做,没学过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
      

  6.   

    又进了一步
    Windows("七年级地理第二学期复习提纲").Activate
       If Selection.Find.Execute Then
        Selection.Copy
        Windows("文档 1").Activate
        Selection.Paste
        End If
    把上面代码复制无数遍可以完成把所有有下划线的句子复制到文档1中,我想用循环,可是不知怎么判断是否已经查找到最后,另循环语句怎么写,再请帮忙一下
      

  7.   

    这个问题在word中捅咕捅咕应该差不多吧,不用写程序了。
      

  8.   

    这个可以考虑用Word中的宏编程来解决,不过好像是有一定难度!
      

  9.   

    只是用过word里的宏,没修改过,
    顶下.来接分了....呵呵...