<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    飛艷小屋

    程序--人生--哲學(xué)___________________歡迎艷兒的加入

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks
    曾有編程愛好者多次求我?guī)妥鯳ord模板,填寫資料。當(dāng)時(shí)也找不到資料。只告訴他
    要寫資料的那一頁用EXCEL,因EXCEL的參考資料多。后見他在多個(gè)論壇求助,未見解決。
    剛好閑點(diǎn),花點(diǎn)時(shí)間研究了一下WORD,終于知道怎樣如控制EXCEL一樣來控制WORD。
    寫成例子貼出來與大家共享,都有兩方法,一是直接用代碼編程創(chuàng)建文檔,另是在WORD或
    EXCEL中作好模板,用模板創(chuàng)建,添寫資料。我中意后者。
      另附 GRID 模仿DELPHI的顯示

    總結(jié)以下幾點(diǎn),就可更加發(fā)揮:

    一、要實(shí)現(xiàn)的目的,先在WORD或EXCEL中錄制宏。然后根據(jù)宏來修改做成VFP的代碼。

    二、對(duì)象的屬性不同。
        a、WORD ,
          1、 凡有selection的為應(yīng)用程序?qū)傩?BR>          OleWord=CREATEOBJECT('word.application')  &&創(chuàng)建word目標(biāo)
              OleWord.Selection
             **** Word多數(shù)用它**********
              OleWord.quit &&退出word
           2、OleWord.Documents
              OleWord.Documents.add() &&增加新的word文檔,有路徑文件名是以它作模板打開
              OleWord.Documents.open("D:\test.doc") &&打開指定的文件
              OleWord.Documents.close(.F.) &&關(guān)閉所有打開的文檔不保存,不要.F.,調(diào)出對(duì)話框
           3、頁面設(shè)置OleWord.ActiveDocument.PageSetup
           4、OleWord.ActiveDocument
              OleWord.ActiveDocument.Save &&保存
              OleWord.ActiveDocument.SaveAs("D:\test.doc") &&最簡(jiǎn)單的另存
              OleWord.ActiveDocument.close &&關(guān)閉當(dāng)前word文檔

       b、EXCEL
          1、凡有selection的為應(yīng)用程序?qū)傩?
             XLApp=CREATEOBJECT('Excel.application')
             XLApp.Selection
             XLApp.quit  &&退出Excel
          2、XLApp.WorkBooks
             XLApp.WorkBooks.Add( ) &&增加新的EXCEL,加有路徑文件名是以它作模板打開
             XLApp.Workbooks.Open("D:\test.xls")  && 打開指定工作簿
             XLApp.Workbooks.close(.F.)  &&關(guān)閉所有打開的工作簿不保存,不要.F.,調(diào)出對(duì)話框
          3、頁面設(shè)置 XLApp.ActiveSheet.PageSetup
          4、XLApp.ActiveSheet
           ********Excel多數(shù)用它與Word不同**********
          5、XLApp.ActiveWorkbook
             XLApp.ActiveWorkbook.Save  &&保存 
             XLApp.ActiveWorkbook.SaveAs("D:\ABC\22.xls") &&另存為
             XLApp.ActiveWorkbook.close   &&關(guān)閉當(dāng)前工作簿
    三、WORD/EXCEL宏與VFP表示方法不同   

      a、WORD打開
       OleWord.Documents.open("D:\test.doc",.F.,.F.,.F.,'456','123',.F.,'','',.F.) &&根據(jù)宏函數(shù)改,與保存不同方式,456為打開密碼,123為只讀密碼

    *宏函數(shù) Documents.Open FileName:="temp.doc", ConfirmConversions:=False, ReadOnly:= _
    *        False, AddToRecentFiles:=False, PasswordDocument:="456", PasswordTemplate _
    *        :="123", Revert:=False, WritePasswordDocument:="123", WritePasswordTemplate _
    *        :="", Format:=wdOpenFormatAuto
      b、EXCEL只讀保護(hù)
              XLApp.ActiveSheet.protect('123') &&用123密碼鎖起只讀 
              XLApp.ActiveSheet.unprotect('123')  &&用123密碼解鎖   

    *宏函數(shù)(用123密碼只讀鎖)  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    * 用123密碼解鎖          ActiveSheet.Unprotect           

                                                 
                                              徐 軍        xj@meyerdyeing.com
                                        2005/11/06    

    示例:
    http://upload.programfan.com/upfile/20051122194626.rar

    發(fā)表時(shí)間:2005-11-5 14:34:00   

      1 樓  

    部分代碼:
    *用WORD創(chuàng)建新文檔,再根據(jù)DBF的資料創(chuàng)建自幾所需要的表格文檔

    Thisform.chnagedbf  &&轉(zhuǎn)表查詢生成新表、公用變量k,arrcolor[j,k],arrWash[1],arrCrock[1]
       WAIT windows("起動(dòng)WORD制做文檔,請(qǐng)稍等....") NOWAIT AT MROW(Thisform.Name,3),MCOL(Thisform.Name,3)
    OleWord=CREATEOBJECT('word.application')  &&創(chuàng)建word目標(biāo)
    OleWord.Visible=.F.  &&word隱藏,為.F.可在后臺(tái)操作
    OleWord.Documents.add() &&增加新的word文檔
    *-- 頁面設(shè)置
    WITH OleWord.ActiveDocument.PageSetup
    *1.設(shè)置頂邊距為2厘米
          .TopMargin=2/0.035
    *2.設(shè)置底邊距為4厘米
          .BottomMargin=4/0.035
    *3.設(shè)置左邊距為2厘米
         .LeftMargin=2/0.035
    *4.設(shè)置右邊距為2厘米
         .RightMargin=2/0.035
    *頁面0為縱向,1為橫向     
         .Orientation=1
       ENDWITH
    **********************************************************************************
    WITH OleWord.Selection
          .TypeParagraph  &&回車符
          .Text="致"  &&加完是選定狀態(tài)
          .Font.size=20   &&字體大小
          .Moveright(3,1) &&加完是選定狀態(tài),移動(dòng)一次才不覆蓋,3是右移參數(shù),左移1字節(jié)。
          .TypeParagraph  
          .insertafter(SPACE(4)+"興啟")    
          .Font.size=20  
          .Moveright(3,1)
          .TypeParagraph
          .Moveright(3,1)  
          .insertafter(SPACE(6)+"多謝貴公司的支持,貴公司在我廠所配COT樣辦牢度如下:")    
          .Font.size=14    
          .Moveright(3,1)     
          .TypeParagraph
    ENDWITH       
    ******創(chuàng)建表格*******************************
      OleWord.Selection.TypeParagraph
      OleWord.Selection.TypeParagraph
      OleWord.Selection.Moveup(5,1)    &&第一個(gè)5是上移參數(shù),第二個(gè)數(shù)字是上移1行,留一空行在格表下面
      otemp=OleWord.Selection.Range
      OleWord.ActiveDocument.Tables.Add(otemp,k+3,6,5,0) &&插入k+3行6列表格
      OleWord.Selection.SelectRow
      &&光標(biāo)在第一格,要移動(dòng)用Moveright() 等

    WITH OleWord.Selection
         .Tables(1).Rows.Height=0.77/0.035  &&選定表格所有行高0.77CM     
         .Tables(1).Columns.PreferredWidth=2.5/0.035 &&選定表格所有列寬 1.9cm
         .Tables(1).Columns(1).PreferredWidth=4.73/0.035 &&選定表格第一列寬 4.73cm
        *添加數(shù)據(jù),表格合并后就不能用此方法加資料
        .Tables(1).rows(3).cells(3).range.insertafter("顏色變化")
        .Tables(1).rows(3).cells(4).range.insertafter("顏色沾色")  
        .Tables(1).rows(3).cells(5).range.insertafter("干 擦")
        .Tables(1).rows(3).cells(6).range.insertafter("濕 擦")  
      FOR i=1 TO k   
        FOR j=1 TO 6
         .Tables(1).rows(i+3).cells(j).range.insertafter(arrcolor[i,j])    
        ENDFOR
      ENDFOR

         **選定合并  
         .MoveLeft(3,1)  &&左移去掉選定.第一個(gè)3是左移參數(shù),第二個(gè)數(shù)字是左移1字節(jié)
         .MoveDown(5,2,1) &&下移兩格,5是下移參數(shù),2是移兩格,1是按SHIFT,選擇3格  
         .Cells.Merge  &&合并選定的三格

         .MoveRight(3,1) &&右移去掉選定.第一個(gè)3是右移參數(shù),第二個(gè)數(shù)字是右移1格
         .MoveDown(5,2,1)
         .Cells.Merge  &&合并選定的三格

         .MoveRight(3,1) &&右移一格去掉選定
         .Moveright(3,2,1)   &&3是右移參數(shù),右移1格,最后1是按SHIFT鍵,變成選定二格。
         .Cells.Merge  &&合并選定的兩格

         .MoveDown(5,1)
         .Moveright(3,2,1)   &&3是右移參數(shù),左移1格,最后1是按SHIFT鍵,變成選定二格。
         .Cells.Merge  &&合并選定的兩格

         .Moveright(3,1) &&右移一格去掉選定
         .Moveright(3,2,1)   &&3是右移參數(shù),左移1格,最后1是按SHIFT鍵,變成選定二格。
         .Cells.Merge  &&合并選定的兩格     
         
         .Moveup(5,1) &&上移一格,5是下移參數(shù),2是移兩格,1是按SHIFT,選擇3格  
         .Moveright(3,2,1)
         .Cells.Merge
         ***加入資料,因要合并不方便操作,所以合并后加放標(biāo)題資料
         .insertafter("摩  擦")
         .MoveDown(5,1)
         .insertafter(arrCrock[1])  
         .MoveLeft(3,2)
         .insertafter(arrWash[1])
         .Moveup(5,1)
         .insertafter("耐  洗")
         .MoveLeft(3,2)
         .insertafter("顏 色")
         .MoveLeft(3,2)
         .insertafter("色 號(hào)")
         .MoveDown(5,k,1) &&5是下移參數(shù),下移k+2格,最后1是按SHIFT鍵,變成選定多格。
         .MoveRight(3,5,1)  &&3是右移參數(shù),右移5格,最后1是按SHIFT鍵,變成選定多格。
         .ParagraphFormat.Alignment=1  && 1居中 2左對(duì)齊,3右對(duì)齊,4分散對(duì)齊
         .MoveDown(5,1)
         .TypeParagraph
         .insertafter(SPACE(4)+"祝")  
         .MoveRight(3,1)  
         .TypeParagraph      
         .insertafter("生意興?。?)  
         .MoveRight(3,1)  
         .TypeParagraph  
         .insertafter(SPACE(25)+"先科有限公司")   
         .Font.size=20  
         .Moveright(3,1)  
         .TypeParagraph  
         .insertafter(SPACE(30)+DTOC(DATE()))
         .Moveright(3,1)              
    ENDWITH
      MESSAGEBOX("制作文檔完畢!",64,"提示")

       OleWord.Visible=.T.
    posted on 2005-12-06 11:23 天外飛仙 閱讀(1259) 評(píng)論(0)  編輯  收藏 所屬分類: .net
    主站蜘蛛池模板: 国产国拍精品亚洲AV片| 在线免费视频你懂的| 久久久久久精品免费看SSS| 亚洲免费观看视频| 两个人看的www免费高清 | 一级**爱片免费视频| 午夜亚洲av永久无码精品| 特黄特色大片免费| 亚洲精品无码AV中文字幕电影网站| 偷自拍亚洲视频在线观看| 一区二区三区亚洲视频| 亚洲免费在线观看| 亚洲AV永久精品爱情岛论坛| 国产三级在线免费| 亚洲无成人网77777| 免费黄网在线观看| 老司机午夜免费视频| 亚洲综合伊人久久大杳蕉| 毛片在线播放免费观看| 亚洲最大免费视频网| 精品久久久久久久免费加勒比| 免费国产va视频永久在线观看| 亚洲色偷拍区另类无码专区| 成人久久免费网站| 亚洲一卡2卡3卡4卡国产网站| 成人超污免费网站在线看| 无忧传媒视频免费观看入口| 国产亚洲一区二区手机在线观看 | 久久免费国产精品一区二区| 91亚洲一区二区在线观看不卡| 最近免费中文字幕视频高清在线看| 精品特级一级毛片免费观看| 亚洲色无码一区二区三区| 99爱在线观看免费完整版| 亚洲av永久无码精品秋霞电影秋 | 亚洲中文无码线在线观看| 国产午夜无码视频免费网站 | 皇色在线免费视频| 一本色道久久综合亚洲精品蜜桃冫 | 亚洲国产精品无码久久青草| 日本三级在线观看免费|