用excel中的VBA,然后根据excel中单元格中内容,批量替换一个word的模板doc中的字符。字符有很多处。 怎么用word vba,将excel单元格内容,替换word...

VBA\u53ef\u4ee5\u5c06excel\u5355\u5143\u683c\u5185\u5bb9\uff0c\u66ff\u6362word\u6587\u6863\u6307\u5b9a\u4f4d\u7f6e\u4e2d\u7684\u5185\u5bb9\u4e48\uff1f

\u5f53\u7136\u53ef\u4ee5\uff0c\u6211\u4ee5\u524d\u5199\u7684\uff0c\u4f60\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b\uff1a
Private Sub CommandButton1_Click()
On Error Resume Next
Dim iRow As Integer, myPath As String
Dim wdApp As Word.Application, wdDoc As Word.Document, wdRange As Word.Range
Dim \u6536\u6587\u65e5\u671f As String, \u6807\u9898 As String, \u6765\u6587\u5355\u4f4d As String, \u6587\u53f7 As String, \u62df\u529e\u60c5\u51b5 As String
'--------------------------------------------------------------------------------------------------------
Label3.Caption = "\u5c01\u9762\u6b63\u5728\u751f\u6210\u4e2d..."
'--------------------------------------------------------------------------------------------------------
iRow = TextBox1.Text
'\u83b7\u53d6\u5f85\u586b\u5199\u4fe1\u606f
\u6765\u6587\u5355\u4f4d = Cells(iRow, 3).Text
\u6765\u6587\u5355\u4f4d = Replace(\u6765\u6587\u5355\u4f4d, Chr(10), "^p") '\u5c06excel\u4e2d\u7684\u6362\u884c\u66ff\u6362\u6210word\u4e2d\u7684\u6362\u884c
\u6587\u53f7 = Cells(iRow, 4).Text
\u6587\u53f7 = Replace(\u6587\u53f7, Chr(10), "^p") '\u5c06excel\u4e2d\u7684\u6362\u884c\u66ff\u6362\u6210word\u4e2d\u7684\u6362\u884c
\u6807\u9898 = Cells(iRow, 5).Text
\u6807\u9898 = Replace(\u6807\u9898, Chr(10), "^p") '\u5c06excel\u4e2d\u7684\u6362\u884c\u66ff\u6362\u6210word\u4e2d\u7684\u6362\u884c
\u6536\u6587\u65e5\u671f = CStr(Year(Now())) & Cells(iRow, 6).Text
\u62df\u529e\u60c5\u51b5 = TextBox2.Text
'--------------------------------------------------------------------------------------------------------
myPath = ThisWorkbook.Path & "\\u5c01\u9762\"
'\u6587\u4ef6\u82e5\u5df2\u6253\u5f00,\u5219\u5173\u95ed\u5df2\u6253\u5f00\u6587\u4ef6
For Each wdDoc In Documents
If InStr(1, wdDoc.Name, myPath & "(" & \u6536\u6587\u65e5\u671f & ")" & \u6807\u9898 & ".doc", 1) Then
wdDoc.Close savechanges:=wdDoNotSaveChanges
Exit For
End If
Next wdDoc
'--------------------------------------------------------------------------------------------------------
Set wdDoc = CreateObject(myPath & "\u7a7a\u767d\u6a21\u677f.doc") '\u6253\u5f00word
wdDoc.Activate
'--------------------------------------------------------------------------------------------------------
'\u586b\u5199\u6587\u6863
Set wdRange = wdDoc.Content '\u5c06word\u7684\u6587\u6863\u5185\u5bb9\u8d4b\u4e88wdrange
wdRange.Find.Execute FindText:="{\u6765\u6587\u5355\u4f4d}", ReplaceWith:=\u6765\u6587\u5355\u4f4d, Replace:=wdReplaceAll
wdRange.Find.Execute FindText:="{\u6587\u53f7}", ReplaceWith:=\u6587\u53f7, Replace:=wdReplaceAll
wdRange.Find.Execute FindText:="{\u6536\u6587\u65f6\u95f4}", ReplaceWith:=\u6536\u6587\u65e5\u671f, Replace:=wdReplaceAll
wdRange.Find.Execute FindText:="{\u5185\u5bb9\u6458\u8981}", ReplaceWith:=\u6807\u9898, Replace:=wdReplaceAll
wdRange.Find.Execute FindText:="{\u529e\u516c\u5ba4\u62df\u529e}", ReplaceWith:=\u62df\u529e\u60c5\u51b5, Replace:=wdReplaceAll

'--------------------------------------------------------------------------------------------------------
'\u6587\u6863\u53e6\u5b58\u4e3a
wdDoc.SaveAs Filename:=myPath & "(" & \u6536\u6587\u65e5\u671f & ")" & \u6807\u9898 & ".doc"
End Sub

\u4f60\u53ef\u4ee5\u5728excel\u5236\u4f5c\u4e00\u6837\u7684\u8868\u683c\uff0c\u7136\u540e\u7528vba\u5bfc\u5165
\u4f46\u662fword\u6709\u73b0\u6210\u7684\u90ae\u4ef6\u5408\u5e76\uff0c\u4f55\u5fc5\u8fd9\u4e48\u9ebb\u70e6\u5462\uff01

你的这个问题,需要横跨EXCEL与WORD,一般来说这时候用VBA不好办了。
建议用C语言或者VB(不是VBA哦),先调用EXCEL文件,查询对应关系,然后调用WORD文档,根据对应关系作出相应替换
这样应该能达到你的目的了

可以先录一段单次替换的宏,然后嵌到循环语句中,稍作修改

我不会。

  • excel涓濡備綍灏鐢╲ba鎶婅〃涓鐨勪俊鎭綍鍏ヨ〃浜
    绛旓細1銆佸彲浠ュ厛鍒╃敤瀹忓綍鍒舵潵鑷姩鐢熸垚浠g爜锛岀劧鍚鍐嶈繘琛屼慨鏀广傛搷浣滄柟娉曞涓嬶細绗竴姝ワ紝鎵撳紑涓涓excel搴旂敤锛屾柊寤轰竴涓櫧绌鸿〃鏍硷紝骞跺綍鍏ユ暟鎹2銆佺浜屾锛岀偣鍑籩xcel搴旂敤绋嬪簭绐楀彛鐘舵佹爮涓乏渚х殑鈥滃畯褰曞埗鈥濇寜閽3銆佺涓夋锛岀劧鍚庡湪琛1涓锛岄変腑宸︿笂瑙掔涓涓湁鏁版嵁鐨勫崟鍏冩牸銆4銆佺鍥涙锛屾帴鐫鎸変笅CTRL+SHIFT閿紝鍐...
  • Excel閲岀殑VBA鏄粈涔,鏈変粈涔堢敤閫?
    绛旓細Excel閲岀殑VBA鏄疺isual Basic鐨勪竴绉嶅畯璇█銆俈BA鏄井杞紑鍙戝嚭鏉ュ湪鍏舵闈㈠簲鐢ㄧ▼搴忎腑鎵ц閫氱敤鐨勮嚜鍔ㄥ寲(OLE)浠诲姟鐨勭紪绋嬭瑷銆備富瑕佽兘鐢ㄦ潵鎵╁睍Windows鐨勫簲鐢ㄧ▼搴忓姛鑳斤紝鐗瑰埆鏄疢icrosoft Office杞欢銆備篃鍙鏄竴绉嶅簲鐢ㄧ▼寮忚瑙夊寲鐨凚asic 鑴氭湰銆傛帉鎻′簡VBA锛鍙互鍙戞尌浠ヤ笅浣滅敤锛1.瑙勮寖鐢ㄦ埛鐨勬搷浣滐紝鎺у埗鐢ㄦ埛鐨勬搷浣滆涓猴紱2....
  • excel涓娇鐢╲ba鏉ヨ缃瘑鐮乿ba璁剧疆瀵嗙爜
    绛旓細骞惰繍琛屼笅涓姝ヤ繚瀛樸5.杩欓噷杩愯浠g爜浼氬脊鍑鸿緭鍏ユ锛岃緭鍏ョ殑瀵嗙爜鏄槑鏂囨樉绀猴紝鎴戜滑鐐瑰嚮纭畾鍚庯紝Excel宸ヤ綔钖勫叧闂6.閲嶆柊鎵撳紑璇ュ伐浣滆杽锛屽脊鍑鸿緭鍏ュ瘑鐮佸璇濇锛屾垜浠渶瑕佽緭鍏ユ纭殑瀵嗙爜鎵嶈兘鎵撳紑宸ヤ綔钖勮繘琛屽伐浣溿7.濡傛灉闇瑕佽В闄ゅ瘑鐮侊紝鎴戜滑鍦ㄦ枃浠-淇℃伅涓壘鍒颁繚鎶ゅ伐浣滆杽閫夐」锛岀劧鍚鐐瑰嚮瀵嗙爜淇濇姢鍘绘帀鍏朵腑鐨勫瘑鐮佸嵆鍙В瀵嗐
  • Excel涓娇鐢╲ba鍒朵綔瀵嗙爜楠岃瘉鐨勬搷浣滄柟娉
    绛旓細Excel涓娇鐢╲ba鍒朵綔瀵嗙爜楠岃瘉鐨勬搷浣滄楠ゅ涓嬶細棣栧厛鎴戜滑鎵撳紑涓涓伐浣滄牱琛ㄤ綔涓轰緥瀛愩傝繘鍏ba浠g爜缂栬緫鍣紝鎸変笅alt+f11缁勫悎蹇嵎閿繘鍏ャ鐒跺悗杈撳叆浠ヤ笅浠g爜銆係ub login()Dim strPassword As String '淇濆瓨瀵嗙爜 Dim i As Integer '杈撳叆瀵嗙爜鐨勬鏁 Do strPassword = InputBox("璇疯緭鍏ュ瘑鐮") '杈撳叆瀵嗙爜 If str...
  • Excel涓鎬庝箞鐢╒BA杩愮畻绗
    绛旓細Excel涓鎬庝箞鐢╒BA杩愮畻绗︼紵杩樿寰楀皬鏃跺欏涔犳暟瀛︾殑缁忓巻鍚楋紵寰堝皬寰堝皬鐨勬椂鍊欙紝鎴戜滑浼氭帴瑙﹀埌鏁板瓧锛屽ぇ浜轰滑浼氭暀鎴戜滑鏁版暟锛岃璇嗙畝鍗曠殑鏁板瓧锛屾參鎱㈠湴鎴戜滑浼氬紑濮嬪涔犵畝鍗曠殑鍔犲噺娉曪紝鍐嶅ぇ涓鐐癸紝浼氬涔犱箻闄ゆ硶锛岃儗璇典箻娉曞彛璇锛岄殢鐫瀛︿範鐨勬繁鍏ワ紝鎴戜滑浼氶愭笎瀛︿範鍒版洿澶嶆潅鐨勮繍绠楀拰瑙勫垯銆傝繍绠楁棤澶勪笉鍦ㄣ傚湪缂栧啓绋嬪簭浠g爜鏃讹紝...
  • EXCEL鐢╒BA灏嗗崟鍏冩牸鏁板煎瓨鍏ユ暟缁
    绛旓細1銆侀鍏堟墦寮涓涓Excel鐨鏂囦欢锛屽湪琛ㄦ牸涓緭鍏ョ畝鍗曠殑琛ㄦ牸锛屾瘮濡傚鐢熻韩楂樿〃鏍硷紝濡備笅鍥炬墍绀恒2銆佹帴鐫锛屽湪琛ㄦ牸涓緭鍏ヤ竴缁存暟缁勭殑璇存槑鏂囧瓧锛岄紶鏍囧乏閿崟鍑汇愬紑鍙戝伐鍏枫戣彍鍗曟爣绛撅紝鍦VBA鎺т欢涓嬫媺鑿滃崟涓紝骞堕夋嫨鎸夐挳鎺т欢锛屽涓嬪浘鎵绀恒3銆 鐒跺悗锛屽湪琛ㄦ牸涓粯鍒跺嚭鎸夐挳鎺т欢锛屽苟淇敼鎺т欢鍚嶇О锛屾瘮濡浣跨敤涓缁存暟缁勭殑鍚嶇О锛屽...
  • excel涓鎬庝箞浣跨敤vba缁樺埗涓涓ぇ澶村厰鐨勫浘鐗?
    绛旓細鏈妭鐩殑锛鐢╡xcel vba缂栫▼鎿嶄綔锛岄氳繃缁欏崟鍏冩牸娑傝壊锛岀敾涓鍙厰瀛愩1銆佹墦寮excel锛屾妸sheet1鍛藉悕涓哄厰瀛愶紝sheet2鍛藉悕涓烘暟鎹2銆佸湪鏁版嵁琛ㄦ牸閲屽瓨鏀炬暟鎹紝鍏49琛屻3銆佽繖鏄26-49琛岀殑鏁版嵁銆4銆佸瓨鏀惧ソ鏁版嵁鍚庯紝杩涘叆vbe缂栫▼鐜銆5銆佹彃鍏ユā鍧椼6銆侀氳繃璇诲彇鏁版嵁琛ㄦ牸閲岀殑鏁版嵁锛屾壘鍒板厰瀛愯〃鏍奸噷鐩稿簲鐨勫崟鍏冩牸锛屾秱鑹诧紝...
  • 鍒╃敤excelVBA鍒犻櫎宸ヤ綔琛涓殑閲嶅琛
    绛旓細濡傛灉瑕鍦‥xcel涓敤VBA鐨勬柟娉曚互鏍规嵁鏌愬垪鍐呭鍒犻櫎閲嶅鐨勮锛屽嵆褰撴煇鍒楁湁閲嶅鏁版嵁鏃朵粎淇濈暀涓琛岋紝鍙互鐢ㄤ笅闈鐨刅BA浠g爜銆傚亣濡備互A鍒椾负鍙傝冿紝宸ヤ綔琛ㄧ殑绗竴琛屼负鏍囬琛岋紝鏁版嵁浠庣浜岃寮濮嬨傛柟娉曚竴锛氱敤宸ヤ綔琛ㄥ嚱鏁癈ountIf鍒ゆ柇璇ヨ鏄惁閲嶅 Sub 鍒犻櫎閲嶅琛1()Dim i As Long Application.ScreenUpdating = False For...
  • 姹:鐢╡xcel鎴VBA鍋氫粨搴撴槑缁嗚褰?(鏍规鍑哄叆搴撴槑缁,杩涢攢瀛樻眹鎬,鑳借嚜鍔...
    绛旓細vba鍜屽嚱鏁伴兘鍙互 鍑芥暟锛屼竴鑸氨鏄痵umif鎴杝umproduct绛
  • Excel涓,浣跨敤VBA浠ユ煇涓鍗曞厓鏍煎唴瀹瑰懡鍚嶅伐浣滆〃
    绛旓細宸ュ叿/鏉愭枡锛歁icrosoft Office Excel2007鐗堬紝Excel琛ㄦ牸銆1銆侀鍏堥変腑Excel琛ㄦ牸锛屽弻鍑绘墦寮銆2銆鐒跺悗鍦ㄨ鐣岄潰涓紝閫変腑瑕佷互鏌愪竴鍗曞厓鏍煎唴瀹瑰懡鍚嶇殑宸ヤ綔琛紝鍙抽敭鐐瑰嚮鈥滄煡鐪嬩唬鐮佲濄3銆佸啀鑰呭湪璇ョ晫闈腑锛岃緭鍏VBA浠g爜鈥淪ub 鏇存敼鍚嶇О搴() Dim mYn As String mYn = Cells(1, 1) ActiveSheet.Name = mYn End Sub...
  • 扩展阅读:vba编程必背50个程序 ... excel图片一键排列整齐 ... vba编程从入门到精通教程 ... vba编程入门基础教程 ... vba api教程 ... 表格vba编程怎样使用 ... excel vba编程教程完整版 ... vlookup功能vba代码 ... vba编程代码大全 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网