VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請問如何從vfp寫值到word檔時,定義字的大小及字型

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
蔡文華



註冊時間: 2005-10-31
文章: 118


第 1 樓

發表發表於: 星期四 七月 27, 2006 8:44 pm    文章主題: 請問如何從vfp寫值到word檔時,定義字的大小及字型 引言回覆

最近在整理word的主要使用函式,一直找不到定義word裡的字的大小及字型
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 2 樓

發表發表於: 星期五 七月 28, 2006 10:00 am    文章主題: 引言回覆

參考範例, 忘了是從那裡找到的資料.
代碼:

   Wait "正在啟動 Word 軟件……" Window Nowait
   oowapp = Createobject("Word.application") &&訪問WORD
   If Type("oowapp")#"O"
      Wait Clear
      = Messagebox( "?#125;啟Word失敗﹗請檢查你的系統是否正確安裝 Word 軟體﹗",48,"沒有安裝Word")
      Return
   Endif
   Wait "正在建立表格……" Window Nowait
   oowapp.Documents.Add
   oowapp.Visible = .T. &&是否顯示建立過?#123;
******************************************
* 一定要?#93;.T. 不然控制移動 cursor 會不作用
******************************************
   With oowapp.ActiveDocument.PageSetup
      .LineNumbering.Active = .F.
      .Orientation = 0
      .TopMargin = oowapp.Application.CentimetersToPoints(1)
      .BottomMargin = oowapp.Application.CentimetersToPoints(1.5)
      .LeftMargin = oowapp.Application.CentimetersToPoints(1)
      .RightMargin = oowapp.Application.CentimetersToPoints(1)
      .Gutter = 0
      .HeaderDistance = oowapp.Application.CentimetersToPoints(1.5)
      .FooterDistance = oowapp.Application.CentimetersToPoints(1.75)

      .FirstPageTray = 0
      .OtherPagesTray = 0
      .SectionStart = 0
      .OddAndEvenPagesHeaderFooter = .F.
      .DifferentFirstPageHeaderFooter = .F.
      .VerticalAlignment = 0
      .SuppressEndnotes = .F.
      .MirrorMargins = .F.
      .TwoPagesOnOne = .F.
      .GutterPos = 0
      .LayoutMode = 0
   Endwith

   ln_column = 1
   oowapp.Documents(1).Tables.Add(oowapp.Selection.Range, 1 , ln_column)

   Dimension arr_width[1,20]
   arr_width[1, 1] = 18
   With oowapp.Selection.Tables(1)
      For i = 1 To ln_column
         .Columns(i).PreferredWidth = oowapp.Application.CentimetersToPoints(arr_width[1, i])
      Endfor
      .PreferredWidthType = 3
      .Select
   Endwith
   With oowapp.Selection
      .Rows.Height = oowapp.CentimetersToPoints(1.3)
      .SelectRow
      .Font.Size = 24
      .Font.Name = "標楷體"
      With .ParagraphFormat
         .LeftIndent = oowapp.CentimetersToPoints(0.2)
         .RightIndent = oowapp.CentimetersToPoints(0.2)
         .SpaceBefore = 0
         .SpaceBeforeAuto = false
         .SpaceAfter = 0
         .SpaceAfterAuto = false
         .LineSpacingRule = 4
         .LineSpacing = 24
         .Alignment = 1
      Endwith
      .Cells.VerticalAlignment = 1
      .Rows.LeftIndent = oowapp.CentimetersToPoints(0.5)
      With .Cells
         .BorderS(-2).LineStyle = 0
         .BorderS(-4).LineStyle = 0
         .BorderS(-1).LineStyle = 0
         .BorderS(-3).LineStyle = 0
         .BorderS(-6).LineStyle = 0
         .BorderS(-5).LineStyle = 0
      Endwith
      .typetext("員工基本資料表")
      .HomeKey(10)
      .Movedown(5, 1)
      .TypeParagraph
   Endwith
*.....
*.....
*....
   With oowapp.Selection
      .SelectCell
      With .ParagraphFormat
         .LeftIndent = oowapp.CentimetersToPoints(0.1)
         .RightIndent = oowapp.CentimetersToPoints(0.1)
         .SpaceBefore = 0
         .SpaceBeforeAuto = false
         .SpaceAfter = 0
         .SpaceAfterAuto = false
         .Alignment = 0
* .SpaceBeforeAuto = False
* .SpaceAfterAuto = False
         .LineUnitBefore = 1
         .LineUnitAfter = 1
      Endwith
      .typetext("由FoxPro?#123;式優缺點:")
      .TypeParagraph
      With .ParagraphFormat
         .CharacterUnitFirstLineIndent = -1
         .SpaceBefore = 0
         .SpaceBeforeAuto = false
         .SpaceAfter = 0
         .SpaceAfterAuto = false
         .LineUnitBefore = 0
         .LineUnitAfter = 0
      Endwith
      .typetext("優點:")
      .TypeParagraph
      With .ParagraphFormat
         .CharacterUnitFirstLineIndent = -1
         .SpaceBefore = 0
         .SpaceBeforeAuto = false
         .SpaceAfter = 0
         .SpaceAfterAuto = false
         .LineUnitBefore = 0
         .LineUnitAfter = 0
      Endwith
      .typetext("1.產生表格具美?#91;,能製作出複雜表格、文件、報表,"+;
         "幾乎Word 能製作的都能由Foxpro產生,"+;
         "只有一些內含物件及超連結物件不可控制。")
      .TypeParagraph
      With .ParagraphFormat
         .CharacterUnitFirstLineIndent = -1
         .SpaceBefore = 0
         .SpaceBeforeAuto = false
         .SpaceAfter = 0
         .SpaceAfterAuto = false
         .LineUnitBefore = 0
         .LineUnitAfter = 0
      Endwith
      .typetext("2.可依據欄位值字數大小產生多行,或調整欄位寬度,"+;
         "使產生報表文件更具彈性。")
      .TypeParagraph
      .typetext("3. 產生Word 檔可供其他使用者應用或參考。")
      .TypeParagraph
      With .ParagraphFormat
         .LineUnitBefore = 1
      Endwith
      .typetext("缺點:")
      .TypeParagraph
      With .ParagraphFormat
         .SpaceAfter = 0
         .LineUnitBefore = 0
      Endwith
      .typetext("1.?#93;計者須熟悉Word,才能用?#93;計出完美文件,"+;
         "而產生Word 檔一頁(複雜表格)須10-15秒時間,"+;
         "參考 CPU 1.4 GHz,故產生多頁word 檔須等待。")
      .TypeParagraph
      .typetext("2.?#93;計?#123;式比較耗時間,熟悉的Word 屬性控制話就比較快。")
      .TypeParagraph
      With .ParagraphFormat
         .CharacterUnitFirstLineIndent = 2.5
      Endwith
      .typetext("限制:office 2000可執行,表格格式正常產生,office xp 表格格式產生會亂掉。")

      .Movedown(5, 1)
* .TypeParagraph
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(2), 1, 0)
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(5), 1, 0)
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(8), 1, 0)
      .typetext("no"+Chr(9)+'name'+Chr(9)+'code'+Chr(9)+'price')
      .TypeParagraph
      .typetext("111"+Chr(9)+'22222222'+Chr(9)+'3333333'+Chr(9)+'12345')
      .TypeParagraph
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(2), 0, 1)
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(5), 0, 1)
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(8), 2, 1)
      .typetext("111"+Chr(9)+'22222222'+Chr(9)+'3333333'+Chr(9)+'10000')
      .TypeParagraph
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(2), 0, 2)
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(5), 0, 2)
      .ParagraphFormat.TabStops.Add(oowapp.CentimetersToPoints(8), 2, 2)
      .typetext("111"+Chr(9)+'22222222'+Chr(9)+'3333333'+Chr(9)+'120000')
   Endwith

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.


garfield 在 星期六 七月 29, 2006 9:09 am 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
蔡文華



註冊時間: 2005-10-31
文章: 118


第 3 樓

發表發表於: 星期五 七月 28, 2006 9:05 pm    文章主題: 沒有修改字型及大小的設定啊 引言回覆

沒有修改字型及大小的設定啊!!
沒有修改字型及大小的設定啊!!
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 4 樓

發表發表於: 星期六 七月 29, 2006 9:10 am    文章主題: 引言回覆

sorry
忘了檢查...
已修正, 增加了以下的程式碼
With oowapp.Selection
.Rows.Height = oowapp.CentimetersToPoints(1.3)
.SelectRow
.Font.Size = 24
.Font.Name = "標楷體"
............

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
蔡文華



註冊時間: 2005-10-31
文章: 118


第 5 樓

發表發表於: 星期三 八月 02, 2006 9:10 am    文章主題: 再請問!!如何將一個圖檔放入從vfp開啟的word檔呢?? 引言回覆

從vfp開啟了一個word檔,當然已經可以匯入需要的資料了,
但如何處理把圖檔放入word裡的頁面呢,並可以指定圖檔的大小..
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 6 樓

發表發表於: 星期三 八月 02, 2006 10:23 am    文章主題: 引言回覆

請自行錄巨集,
並將它改寫成vfp語法,
研究出來後貼上程式碼來,
你就是第一名了.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
蔡文華



註冊時間: 2005-10-31
文章: 118


第 7 樓

發表發表於: 星期三 八月 02, 2006 11:59 am    文章主題: 在word插入圖片的指令 引言回覆

&&插入指定圖片
Selection.InlineShapes.AddPicture("E:\分享區\其它圖片\0005.jpg")

至於改變圖片大小...
還是沒找到...
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作