『ExcelからWordへのデータ転記について』(関数がにがて)
こんにちは
Excelの一覧からWordへデータ転記を行っています。 月1の作業で、日付をWordへ転記した際に、曜日がWordで表示されるようになってしまいました。 何が原因か教えていただけませんでしょうか。
|[Z] |[AA] |[AB]
[1]|[機材]|[氏名] |[発送日]
[2]| 22|△△ 太郎 | 2025/10/27
[3]| 24|▼▼ 次郎 | 2025/10/27
Sub 発送レター_作成()
Dim i As Long, k As Long
Dim waitTime As Variant
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("発行用")
'エクセルの最終行と最右列を取得
Dim cmax As Long, cnt As Long
cmax = Range("A" & Rows.Count).End(xlUp).row
cnt = Range("IV1").End(xlToLeft).Column
'ワード起動
Dim wdapp As Word.Application
Set wdapp = CreateObject("Word.application")
wdapp.Visible = True
'テンプレートワードのパス取得
Dim path As String
path = ThisWorkbook.path & "\【案内】〇〇の取付けについて.docx"
'エクセルのデータを1行ずつ処理
For i = 2 To cmax
'テンプレートワードを開く
Dim wddoc As Word.Document
Set wddoc = wdapp.Documents.Open(path)
waitTime = Now + TimeValue("0:00:03")
Application.Wait waitTime
'テンプレートワードにエクセルデータを挿入
For k = 0 To 2
With wddoc.Content.Find
.text = ws.Range("Z1").Offset(0, k).Value
.Forward = True
.Replacement.text = ws.Range("Z" & i).Offset(0, k).Value
.Wrap = wdFindContinue
.MatchFuzzy = True
.Execute Replace:=wdReplaceAll
End With
Next
'データを差し込んだワードを印刷
wddoc.PrintOut
'ワードファイルを保存
Dim StR As String
StR = "【案内】〇〇の取付けについて" & "_" & Range("Z" & i).Value & ".docx"
wddoc.SaveAs Filename:="××× & "\" & StR
'テンプレートワードを保存せずに閉じる
wddoc.Close savechanges:=False
'オブジェクト解放
Set wddoc = Nothing
Next
'ワードをアプリケーションごと閉じる
wdapp.Quit
Set wdapp = Nothing
MsgBox "レターを印刷しました。"
End Sub
保存先などは伏字にさせていただきました。 セルAB2の日付は=TODAY()で取得しています。 ここが原因なのでしょうか?
よろしくお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
よく調べてないので恐縮ですが、 今まで正常に動作してきたものが、ある日、曜日に変わってしまったということですか? 日付を表す文字列に変換したものを貼り付けてみるというのが 最初に思いつく対応策でしょうか。
(xyz) 2025/10/27(月) 10:52:56
xyz 様
6月上旬までは日付だけ転記されていたのですが、6月下旬に作成した分から日付と曜日がWordに転記されていました。 日付だけを転記したいのです。 文字列に変換してはまだ試していないので、行ってみます。
(関数がにがて) 2025/10/27(月) 11:29:01
文字列に変換してもダメでした。 (関数がにがて) 2025/10/27(月) 11:35:17
.Replacement.text = ws.Range("Z" & i).Offset(0, k).Value
を
.Replacement.text = ws.Range("Z" & i).Offset(0, k).Text
にしたらどうなるでしょう
ワードでフィールドコードが埋め込まれているような気がしますが、具体的にはわかりません (´・ω・`) 2025/10/27(月) 11:45:08
(´・ω・`)様
ご指摘の修正を行ったら、日付だけになりました。 ありがとうございました。 (関数がにがて) 2025/10/27(月) 13:01:26
ws.Range("Z" & i).Offset(0, k).Text は「日付を表す文字列に変換したもの」なんですけどもね。( k=2のとき)
(xyz) 2025/10/27(月) 13:46:38
xyz 様
言われてみて気が付きました。 確かにそうですね。 ご指摘の意図を組めず、申し訳ございませんでした。 (関数がにがて ) 2025/10/27(月) 13:54:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.