ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4532|回复: 11

[求助] 能否幫我把vba簡體文字代碼翻成繁體

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-5-13 12:34 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 good8195 于 2015-5-13 12:37 编辑

因為我的excel是繁體版本,下載後所有字都變亂碼,連拉上去網上翻譯的機會都沒有
怕下載後上傳也是一樣情況,恐怕需要大俠們幫幫我下載並上傳給我

想要這位老師的這篇文章做學習

Excel数据写入Word文档
http://club.excelhome.net/thread-477904-1-1.html


還有這篇,這就比較麻煩了,我已留言把我問題給他了
但因為今天放假想學習更高深的東西,還是發文請助
還有各路高手的插件,工具箱我也是一樣情況,請問有解嗎?

[2015!来吧!一键收集代码、一键写代码、一键封装代码]VBA代码盒子5.0---梁小铭
http://club.excelhome.net/thread-1179608-1-1.html

TA的精华主题

TA的得分主题

发表于 2015-5-13 13:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请参考
转换.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-13 14:28 | 显示全部楼层
本帖最后由 good8195 于 2015-5-13 14:51 编辑
Vicel 发表于 2015-5-13 13:45
请参考

老師您好,謝謝您又來幫助我了
不過這次問題不是頁面的簡轉繁
是vba裏頭(難過)
附圖給你看一下好了
未命名.jpg

如果暫時無法解決的話
我希望有人能幫我複上面製檔案的vba代碼給我
我再去修改研究

TA的精华主题

TA的得分主题

发表于 2015-5-13 15:16 | 显示全部楼层
good8195 发表于 2015-5-13 14:28
老師您好,謝謝您又來幫助我了
不過這次問題不是頁面的簡轉繁
是vba裏頭(難過)

你给的两个链接里的附件不算少,不容易帮忙呀
你可以试上传一个压缩包上来,我帮你看看能否转换了传回给你

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-13 15:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Vicel 发表于 2015-5-13 15:16
你给的两个链接里的附件不算少,不容易帮忙呀
你可以试上传一个压缩包上来,我帮你看看能否转换了传回给 ...

不要造成你的負擔,三個檔案就好了
第二個連結是工具箱,應該不是隨便複製就能
Desktop.rar (70.98 KB, 下载次数: 10)

TA的精华主题

TA的得分主题

发表于 2015-5-13 16:06 | 显示全部楼层
good8195 发表于 2015-5-13 15:20
不要造成你的負擔,三個檔案就好了
第二個連結是工具箱,應該不是隨便複製就能

看看。有一个档案好象是重复的,查杀到有异常,只把两个档案的转成繁体了
test.rar (26.12 KB, 下载次数: 12)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-13 16:13 | 显示全部楼层
Vicel 发表于 2015-5-13 16:06
看看。有一个档案好象是重复的,查杀到有异常,只把两个档案的转成繁体了

沒有重複,是有兩個版本,那個最重要的是excel vba轉成繁體的
但是剛剛看都沒有(掩面)

TA的精华主题

TA的得分主题

发表于 2015-5-13 16:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
good8195 发表于 2015-5-13 16:13
沒有重複,是有兩個版本,那個最重要的是excel vba轉成繁體的
但是剛剛看都沒有(掩面)

漏了一个,补上
工程付款申請(未使用迴圈).rar (14.91 KB, 下载次数: 7)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-13 17:34 | 显示全部楼层
Vicel 发表于 2015-5-13 16:39
漏了一个,补上

還是一樣
老師你直接把這三個excel的vba代碼貼上來好了
我在自己慢慢改,要不然代碼在excel裡面我的都會自己變亂碼

未命名.jpg

TA的精华主题

TA的得分主题

发表于 2015-5-13 18:11 | 显示全部楼层
good8195 发表于 2015-5-13 17:34
還是一樣
老師你直接把這三個excel的vba代碼貼上來好了
我在自己慢慢改,要不然代碼在excel裡面我的都會 ...

  1. Private Sub Worksheet_Activate()
  2. Sheet1.[f1] = Sheet1.[f10]
  3. Sheet1.[g1] = Sheet1.[g10]
  4. Sheet1.[f2] = Sheet1.[f11]
  5. Sheet1.[g2] = Sheet1.[g11]
  6.    
  7. End Sub

  8. Private Sub 生成Word檔_Click()
  9.    Dim Word對象 As New Word.Application, 當前路徑, 導出檔案名, 導出路徑檔案名, 資料名
  10.    Dim i, j
  11.    Dim Str1, Str2
  12.    當前路徑 = ThisWorkbook.Path
  13.    數據表名 = "付款申請表"
  14.    最後行號 = Sheets(數據表名).Range("B65536").End(xlUp).Row
  15.    判斷 = 0
  16.    For i = 3 To 最後行號
  17.       導出檔案名 = "工程付款申請單"
  18.       FileCopy 當前路徑 & "\工程付款申請單(範本).doc", 當前路徑 & "" & 導出檔案名 & "(" & Sheets(數據表名).Range("B" & i) & ").doc"
  19.       導出路徑檔案名 = 當前路徑 & "" & 導出檔案名 & "(" & Sheets(數據表名).Range("B" & i) & ").doc"
  20.       With Word對象
  21.          .Documents.Open 導出路徑檔案名
  22.          .Visible = False
  23.          '******************為便於理解和移植代碼,這裏就不採用迴圈的方法了!***************************
  24.          '填寫文字資料
  25.          Str1 = "數據1"
  26.          Str2 = Sheets(數據表名).Cells(i, 2)
  27.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  28.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  29.             .Selection.Text = Str2 '替換字串
  30.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  31.          End If
  32.         
  33.          Str1 = "數據2"
  34.          Str2 = Sheets(數據表名).Cells(i, 3)
  35.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  36.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  37.             .Selection.Text = Str2 '替換字串
  38.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  39.          End If
  40.         
  41.          Str1 = "數據3"
  42.          Str2 = Sheets(數據表名).Cells(i, 4)
  43.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  44.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  45.             .Selection.Text = Str2 '替換字串
  46.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  47.          End If
  48.         
  49.          Str1 = "數據4"
  50.          Str2 = Sheets(數據表名).Cells(i, 5)
  51.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  52.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  53.             .Selection.Text = Str2 '替換字串
  54.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  55.          End If
  56.         
  57.          Str1 = "數據4"
  58.          Str2 = Sheets(數據表名).Cells(i, 5)
  59.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  60.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  61.             .Selection.Text = Str2 '替換字串
  62.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  63.          End If
  64.         
  65.          Str1 = "數據5"
  66.          Str2 = Sheets(數據表名).Cells(i, 6)
  67.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  68.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  69.             .Selection.Text = Str2 '替換字串
  70.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  71.          End If
  72.         
  73.          Str1 = "數據6"
  74.          Str2 = Sheets(數據表名).Cells(i, 7)
  75.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  76.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  77.             .Selection.Text = Str2 '替換字串
  78.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  79.          End If
  80.         
  81.          Str1 = "數據4"
  82.          Str2 = Sheets(數據表名).Cells(i, 5)
  83.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  84.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  85.             .Selection.Text = Str2 '替換字串
  86.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  87.          End If
  88.         
  89.          Str1 = "數據7"
  90.          Str2 = Sheets(數據表名).Cells(i, 8)
  91.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  92.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  93.             .Selection.Text = Str2 '替換字串
  94.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  95.          End If
  96.         
  97.          Str1 = "數據8"
  98.          Str2 = Sheets(數據表名).Cells(i, 9)
  99.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  100.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  101.             .Selection.Text = Str2 '替換字串
  102.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  103.          End If
  104.         
  105.          Str1 = "數據9"
  106.          Str2 = Sheets(數據表名).Cells(i, 10)
  107.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  108.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  109.             .Selection.Text = Str2 '替換字串
  110.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  111.          End If
  112.          Str1 = "數據10"
  113.          Str2 = Sheets(數據表名).Cells(i, 11)
  114.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  115.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  116.             .Selection.Text = Str2 '替換字串
  117.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  118.          End If
  119.         
  120.          Str1 = "數據4"
  121.          Str2 = Sheets(數據表名).Cells(i, 5)
  122.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  123.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  124.             .Selection.Text = Str2 '替換字串
  125.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  126.          End If
  127.         
  128.          Str1 = "數據11"
  129.          Str2 = Sheets(數據表名).Cells(i, 12)
  130.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  131.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  132.             .Selection.Text = Str2 '替換字串
  133.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  134.          End If
  135.         
  136.          Str1 = "數據12"
  137.          Str2 = Sheets(數據表名).Cells(i, 13)
  138.          .Selection.HomeKey Unit:=wdStory '游標置於文件首
  139.          If .Selection.Find.Execute(Str1) Then '查找到指定字串
  140.             .Selection.Text = Str2 '替換字串
  141.             .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  142.          End If

  143.         '填寫表格資料
  144.         .ActiveDocument.Tables(1).Cell(3, 2).Range = Sheets(數據表名).Cells(i, 14)
  145.         .ActiveDocument.Tables(1).Cell(3, 3).Range = Sheets(數據表名).Cells(i, 15)
  146.         .ActiveDocument.Tables(1).Cell(3, 4).Range = Sheets(數據表名).Cells(i, 16)
  147.         .ActiveDocument.Tables(1).Cell(3, 5).Range = Sheets(數據表名).Cells(i, 17)
  148.         
  149.         .ActiveDocument.Tables(1).Cell(4, 2).Range = Sheets(數據表名).Cells(i, 18)
  150.         .ActiveDocument.Tables(1).Cell(4, 3).Range = Sheets(數據表名).Cells(i, 19)
  151.         .ActiveDocument.Tables(1).Cell(4, 4).Range = Sheets(數據表名).Cells(i, 20)
  152.         .ActiveDocument.Tables(1).Cell(4, 5).Range = Sheets(數據表名).Cells(i, 21)
  153.         
  154.         .ActiveDocument.Tables(1).Cell(5, 2).Range = Sheets(數據表名).Cells(i, 22)
  155.         .ActiveDocument.Tables(1).Cell(5, 3).Range = Sheets(數據表名).Cells(i, 23)
  156.         .ActiveDocument.Tables(1).Cell(5, 4).Range = Sheets(數據表名).Cells(i, 24)
  157.         .ActiveDocument.Tables(1).Cell(5, 5).Range = Sheets(數據表名).Cells(i, 25)
  158.         
  159.         .ActiveDocument.Tables(1).Cell(6, 2).Range = Sheets(數據表名).Cells(i, 26)
  160.         .ActiveDocument.Tables(1).Cell(6, 3).Range = Sheets(數據表名).Cells(i, 27)
  161.         .ActiveDocument.Tables(1).Cell(6, 4).Range = Sheets(數據表名).Cells(i, 28)
  162.         .ActiveDocument.Tables(1).Cell(6, 5).Range = Sheets(數據表名).Cells(i, 29)
  163.       
  164.         .ActiveDocument.Tables(1).Cell(9, 2).Range = Sheets(數據表名).Cells(i, 30)
  165.         .ActiveDocument.Tables(1).Cell(9, 3).Range = Sheets(數據表名).Cells(i, 31)
  166.         .ActiveDocument.Tables(1).Cell(9, 4).Range = Sheets(數據表名).Cells(i, 32)
  167.         .ActiveDocument.Tables(1).Cell(9, 5).Range = Sheets(數據表名).Cells(i, 33)
  168.         
  169.         .ActiveDocument.Tables(1).Cell(10, 2).Range = Sheets(數據表名).Cells(i, 34)
  170.         .ActiveDocument.Tables(1).Cell(10, 3).Range = Sheets(數據表名).Cells(i, 35)
  171.         .ActiveDocument.Tables(1).Cell(10, 4).Range = Sheets(數據表名).Cells(i, 36)
  172.         .ActiveDocument.Tables(1).Cell(10, 5).Range = Sheets(數據表名).Cells(i, 37)
  173.         
  174.         .ActiveDocument.Tables(1).Cell(11, 2).Range = Sheets(數據表名).Cells(i, 38)
  175.         .ActiveDocument.Tables(1).Cell(11, 3).Range = Sheets(數據表名).Cells(i, 39)
  176.         .ActiveDocument.Tables(1).Cell(11, 4).Range = Sheets(數據表名).Cells(i, 40)
  177.         .ActiveDocument.Tables(1).Cell(11, 5).Range = Sheets(數據表名).Cells(i, 41)
  178.         
  179.         .ActiveDocument.Tables(1).Cell(12, 2).Range = Sheets(數據表名).Cells(i, 42)
  180.         .ActiveDocument.Tables(1).Cell(12, 3).Range = Sheets(數據表名).Cells(i, 43)
  181.         .ActiveDocument.Tables(1).Cell(12, 4).Range = Sheets(數據表名).Cells(i, 44)
  182.         .ActiveDocument.Tables(1).Cell(12, 5).Range = Sheets(數據表名).Cells(i, 45)
  183.         
  184.         .ActiveDocument.Tables(1).Cell(13, 2).Range = Sheets(數據表名).Cells(i, 46)
  185.         .ActiveDocument.Tables(1).Cell(13, 3).Range = Sheets(數據表名).Cells(i, 47)
  186.         .ActiveDocument.Tables(1).Cell(13, 4).Range = Sheets(數據表名).Cells(i, 48)
  187.         .ActiveDocument.Tables(1).Cell(13, 5).Range = Sheets(數據表名).Cells(i, 49)
  188.       End With
  189.       Word對象.Documents.Save
  190.       Word對象.Quit
  191.       Set Word對象 = Nothing
  192.    Next i
  193.    If 判斷 = 0 Then
  194.       j = MsgBox("已輸出到 Word 檔!", 0 + 48 + 256 + 0, "提示:")
  195.    End If
  196. End Sub
复制代码
  1. Function dxje(q)
  2. ybb = Round(q * 100) '將輸入的數值擴大100倍,進行四捨五入
  3. y = Int(ybb / 100) '截取出整數部分
  4. j = Int(ybb / 10) - y * 10 '截取出十分位
  5. f = ybb - y * 100 - j * 10 '截取出百分位
  6. zy = Application.WorksheetFunction.Text(y, "[dbnum2]") '將整數部分轉為中文大寫
  7. zj = Application.WorksheetFunction.Text(j, "[dbnum2]") '將十分位轉為中文大寫
  8. zf = Application.WorksheetFunction.Text(f, "[dbnum2]") '將百分位轉為中文大寫
  9. dxje = zy & "元" & "整"
  10. d1 = zy & "元"
  11. If f <> 0 And j <> 0 Then
  12. dxje = d1 & zj & "角" & zf & "分"
  13. If y = 0 Then
  14. dxje = zj & "角" & zf & "分"
  15. End If
  16. End If
  17. If f = 0 And j <> 0 Then
  18. dxje = d1 & zj & "角" & "整"
  19. If y = 0 Then
  20. dxje = zj & "角" & "整"
  21. End If
  22. End If
  23. If f <> 0 And j = 0 Then
  24. dxje = d1 & zj & zf & "分"
  25. If y = 0 Then
  26. dxje = zf & "分"
  27. End If
  28. End If
  29. If q = "" Then
  30. dxje = 0 '如沒有輸入任何數值為0
  31. End If
  32. End Function
复制代码
  1. Private Sub CommandButton輸出通知到Word檔_Click()
  2.    Dim Word對象 As New Word.Application, 當前路徑, 導出檔案名, 導出路徑檔案名, i, j
  3.    Dim Str1, Str2
  4.    當前路徑 = ThisWorkbook.Path
  5.    最後行號 = Sheets("數據").Range("B65536").End(xlUp).Row
  6.    判斷 = 0
  7.    For i = 2 To 最後行號
  8.       導出檔案名 = "授課通知"
  9.       FileCopy 當前路徑 & "\授課通知(範本).doc", 當前路徑 & "" & 導出檔案名 & "(" & Sheets("數據").Range("B" & i) & ").doc"
  10.       導出路徑檔案名 = 當前路徑 & "" & 導出檔案名 & "(" & Sheets("數據").Range("B" & i) & ").doc"
  11.       With Word對象
  12.         .Documents.Open 導出路徑檔案名
  13.         .Visible = False
  14.         For j = 1 To 5 '填寫文字資料
  15.            Str1 = "數據" & Format(j, "000")
  16.            Str2 = Sheets("數據").Cells(i, j + 1)
  17.            .Selection.HomeKey Unit:=wdStory '游標置於文件首
  18.            If .Selection.Find.Execute(Str1) Then '查找到指定字串
  19.               .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  20.               .Selection.Text = Str2 '替換字串
  21.            End If
  22.         Next j
  23.         For j = 1 To 3 '填寫表格資料
  24.            .ActiveDocument.Tables(1).Cell(2, j).Range = Sheets("數據").Cells(i, j + 6)
  25.            .ActiveDocument.Tables(1).Cell(4, j).Range = Sheets("數據").Cells(i, j + 9)
  26.         Next j
  27.         .ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader '設置位置在頁眉
  28.         Str1 = "數據006"
  29.         Str2 = Sheets("數據2").Cells(2, 2)
  30.         .Selection.HomeKey Unit:=wdStory '游標置於文件首
  31.         If .Selection.Find.Execute(Str1) Then '查找到指定字串
  32.            .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  33.            .Selection.Text = Str2 '替換字串
  34.         End If
  35.         .ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter '設置位置在頁腳
  36.         Str1 = "數據007"
  37.         Str2 = Sheets("數據2").Cells(2, 1)
  38.         .Selection.HomeKey Unit:=wdStory '游標置於文件首
  39.         If .Selection.Find.Execute(Str1) Then '查找到指定字串
  40.            .Selection.Font.Color = wdColorAutomatic '字元為自動顏色
  41.            .Selection.Text = Str2 '替換字串
  42.         End If
  43.       End With
  44.       Word對象.Documents.Save
  45.       Word對象.Quit
  46.       Set Word對象 = Nothing
  47.    Next i
  48.    If 判斷 = 0 Then
  49.       i = MsgBox("已輸出到 Word 檔!", 0 + 48 + 256 + 0, "提示:")
  50.    End If
  51. End Sub
复制代码


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-27 21:45 , Processed in 0.059276 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表