Board logo

標題: 請教操作 excel vba 直書橫書操作 [打印本頁]

作者: eigen    時間: 2013-11-20 13:10     標題: 請教操作 excel vba 直書橫書操作

請教操作 excel vba 直書橫書操作

自從

請教,如何隱藏儲存格內的圖片?如何快速指定列印頁?
http://forum.twbts.com/viewthread.php?tid=10659

學會如何套表列印後,工作效率變快了,考試都考100分

現在我又遇到瓶頸了

目前的問題卡在 中文信封 地址的 直書 橫書 對數字的影響

一、word 直書的址地最好

高雄市三民區博愛3段123號10弄2樓











123

10

2


當然,最好的地址顯示,應該像這樣

但是 word 已經夠好了,不強求,原本打印地址是用word 排好版之後,用合併列印操作出來的

學會 excel 套表,就整個改到 excel 上了

二、在exel 上,無論是橫書 加上強制換行,或直書, 數字的顯示效果都不好

https://www.dropbox.com/s/h9slna0wnwuzlhu/letter_test.xls
從測試檔可以看的出來。

三、後來我發現 excel 可以插入->物件->word 文檔

用這樣的方式就可以將 word 的顯示方式弄到 excel 上了

現在變成卡在 vba 要怎麼寫?原本 .[i3] = E.Range("d1")                           '發票地址

就能搞定,現在我完全不知要如何下手

原本有用 巨集的方式試測,只發現 ActiveSheet.Shapes("Object 18").Select,

接下來的word圖文框的內容要從何下手去修改則完全沒頭序
作者: eigen    時間: 2013-11-20 13:35

上面我實作的測試檔給錯了,這個才對

https://dl.dropboxusercontent.com/u/12575824/letter_test.xls
作者: stillfish00    時間: 2013-11-20 14:48

本帖最後由 stillfish00 於 2013-11-20 14:50 編輯

回復 2# eigen
模組新增Function:
  1. Function StrToVertical(s As String) As String
  2.   With CreateObject("vbscript.regexp")
  3.     .Global = True
  4.     .Pattern = "(\d+|[^\d])"
  5.     StrToVertical = .Replace(s, "$1" & vbLf)
  6.   End With
  7. End Function
複製代碼
PrintPage() 中
  1. .[i3] = E.Range("d1")
複製代碼
改為
  1. .[i3] = StrToVertical(E.Range("d1").Value)
複製代碼

作者: eigen    時間: 2013-11-20 15:25

本帖最後由 eigen 於 2013-11-20 15:26 編輯

沒想到這麼簡單就達到了最理想的做法,連 插入word都不用

我又加入  Replace(E.Range("d1").Value, "-", "之")  讓 -變成 之 ,整個perfect!!! 100分

太感謝了~~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)