  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		chinyu
 
 
  註冊時間: 2004-12-30 文章: 13
 
  第 1 樓
  | 
		
			
				 發表於: 星期五 四月 08, 2005 9:28 pm    文章主題: 已用word錄製巨集,如何轉為 vfp 程式 | 
				     | 
			 
			
				
  | 
			 
			
				Sub 巨集1()
 
'
 
' 巨集1 巨集
 
' 巨集錄製於 2005/4/8,錄製者 Customer
 
'
 
    Selection.Find.ClearFormatting
 
    Selection.Find.Replacement.ClearFormatting
 
    With Selection.Find
 
        .Text = "22222"
 
        .Replacement.Text = "test22222"
 
        .Forward = True
 
        .Wrap = wdFindContinue
 
        .Format = False
 
        .MatchCase = False
 
        .MatchWholeWord = False
 
        .MatchByte = True
 
        .MatchWildcards = False
 
        .MatchSoundsLike = False
 
        .MatchAllWordForms = False
 
    End With
 
    Selection.Find.Execute Replace:=wdReplaceAll
 
End Sub
 
-------------------------------------------------------
 
程式如下:
 
oleWord=CREATEOBJECT("Word.Basic")
 
oleWord.FileOpen("e:\test.doc")
 
*oleWord.FilePrint(0,0,0,"","","",0,1,"",0,0,0,"")
 
oleWord.Selection.Find.ClearFormatting
 
oleWord.Selection.Find.Replacement.ClearFormatting
 
 
    With oleWord.Selection.Find
 
        .Text = "22222"
 
        .Replacement.Text = "test22222"
 
        .Forward = True
 
        .Wrap = wdFindContinue
 
        .Format = False
 
        .MatchCase = False
 
        .MatchWholeWord = False
 
        .MatchByte = True
 
        .MatchWildcards = False
 
        .MatchSoundsLike = False
 
        .MatchAllWordForms = False
 
    End With
 
oleWord.Selection.Find.Execute Replace:=wdReplaceAll
 
 
oleWord.FileSaveAs("e:\word2.doc")
 
oleWord.AppClose("Microsoft Word")
 
 
請各位前輩幫忙看一下,在 With oleWord.Selection.Find 這行就出錯了。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catjoke
 
 
  註冊時間: 2003-06-16 文章: 175 來自: 香港
  第 2 樓
  | 
		
			
				 發表於: 星期一 四月 11, 2005 4:15 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				有時候由一個外掛的 Word Macro 來處理會好一些, 你亦不用照顧太多轉換的問題~~~
 
 
程式如下: 
 
oleWord=CREATEOBJECT("Word.Basic") 
 
oleWord.FileOpen("e:\test.doc") 
 
oleWord.Run("巨集一")
 
 
理他娘如何如何, 一句就抓著來幹~   _________________ 喵喎~ 貓當然是 "茅" 的嘛! ^0^; | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		chinyu
 
 
  註冊時間: 2004-12-30 文章: 13
 
  第 3 樓
  | 
		
			
				 發表於: 星期一 四月 11, 2005 5:17 pm    文章主題: Re: 已用word錄製巨集,如何轉為 vfp 程式 | 
				     | 
			 
			
				
  | 
			 
			
				已解決,主要是要開啟word當報表輸出用,要取代報表的預定內容,程式如下:
 
oleWord=CREATEOBJECT("Word.Application")
 
oleWord.Documents.Open("e:\test.doc")
 
*oleWord.Visible = .T.
 
oleWord.Selection.Find.Execute("22222",.F.,.F.,.F.,.F.,.F.,.T.,0,.F.,"測試",2) &&將[22222]字串全部取代為[測試] 
 
oleWord.Selection.Find.Execute("11111",.F.,.F.,.F.,.F.,.F.,.T.,0,.F.,"測試1",2)
 
 
oleWord.ActiveDocument.SaveAs("e:\word2.doc")
 
oleWord.Application.Quit | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |