• 締切済み

エクセルからマクロを使用しワードの操作について

ワードの日報ファイルをコピーし、ファイル名に日付を追加して開くき、開いた日報ファイルの先頭行に日付と担当を入力したいです。 ファイルコピー、シート名変更、ファイルオープンまではできましたが、日報ファイルの先頭行に日付と担当の入力ができません。 先頭行には文字サイズが24の「日報」、その後ろに文字サイズが12の日付と担当を入れたいです。 下記のマクロにどう追記をすればよいでしょうか。 よろしくお願いします。 Sub 指定日() ' ' 指定日 Macro ' '変数を設定 Dim d1 'ファイルパス Dim d2 '作成するファイル名 Dim d3 '作成するパス・ファイル名 Dim d4 '原本ファイル名 Dim d5 'コピー元のパス・ファイル名 Dim a 'コピー元のファイル Dim b '作成する場所とファイル名 d1 = Range("M1") 'ファイルパス d2 = Range("M4") 'ダブルクリックしたセルの値 d3 = d1 & d2 '作成するパス・ファイル名 d4 = Range("m2") '原本ファイル名 d5 = d1 & d4 'コピー元のパス・ファイル名 a = d5 'コピー元のパス・ファイル名 b = d3 '作成する場所とファイル名を指定 ' コピー先ファイルが存在する場合コピーせずファイルを開く If (Dir(b) <> "") Then 'エラー回避 On Error Resume Next Else ' コピー FileCopy a, b End If ' 作成したワードファイルを開く Set b = GetObject(b) b.Application.Visible = True End Sub

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

WordVBAの絡んだ課題など、基本的にあきらめたほうがよい。5件程度なら、手動操作で済ませたよい。勉強するのに、Word VBAが必要で、その資料が少なくて苦労するから。現在市販本は1ー2冊しかなく、小生は、WEBでは、米国の記事(英文)を探している。しかし、ぴったりの課題はまず見つからず、途中で断念することが多い。よほど凝り性でVBAが好きで、期間をかけて勉強が必要と感じている。 ーー 質問を見て、下記をやってみた。参考に。 中途半端版です。 指定するWord文書は、下記テストでは、とりあえず文字だけのもの(表や図像無しの文書)作るか、探して指定してみてください。 Wordについては、ワードも、何も文書を開かないで下記をやることこと。 自動的に指定文書が、開きます。 Excel側にSheet1というシートがあること。 あくまで、ExcelのVBAのコードです。 ーー 標準モジュールに Sub test01() Dim Wd As Object 'Microsoft Word 15.0 object Library 参照設定のこと Set Wd = CreateObject("Word.Application") Wd.Visible = True Wd.Documents.Open "C:\Users\xxxxxx\Documents\段組をセンテンスで設定.docm" Wd.Activate '本文全体を選択する ActiveDocument.StoryRanges(wdMainTextStory).Select Wd.Selection.Copy '--- Worksheets("Sheet1").Select Range("A1").Select 'ActiveSheet.Paste Range("A1").PasteSpecial Paste:=xlPasteValues, _ Operation:=1 End Sub 処理時間はかかるが、エクセルシートSheet1にワード文書の全文が貼りつくだろう。値的には、A列に。 === 問題は 上記の、「エクセルに持ってきたいデータの、ワードでの状態」の、捉える!処理の難しさを、質問者は、意識していないだろう。 だから図像しか貼り付けられないのだ。 修正が必要なのは、上記コードの '本文全体を選択する ActiveDocument.StoryRanges(wdMainTextStory).Select の部分です。 質問には、図像だけ挙げて、移したい情報が、ワードの表内なのか、それ以外なのか、説明できてないという、根本欠陥がある。 Wordの言葉では、どう表現してよいかわからないだろうと思う。 Excelなら、B2セルとか言えば(表現すれば)よい場合が多く簡単だがね。 このWordVBAを使っての捉え方には、ワードのVBA的な基礎的なワードの仕組みの勉強が必要なんだ。 欲しい図なんかよりも、質問には、データのあり様の情報の方が肝心なんだ。 上記ぐらいの説明(例示)をされても、WordVBAで扱うのは、さらに勉強が必要で、一苦労だろうが。

tsukajun
質問者

補足

回答ありがとうございます。 根本欠陥があるとおっしゃられますが、正直よくわかりません。 質問文だけではわかりずらいと思い図像を乗せたのですが... どこがよくなかったのでしょうか?

関連するQ&A

  • エクセル マクロ 簡素化

    マクロ初心者です。 下記のデータのコピペする、マクロを使用しています。 下記にはAAAとBBBの2つのエクセルへのコピペのみしか記述していませんが、 その下に50ファイル分のファイル名、コピー元、コピー先だけが違うマクロが並んでいます。 メンテナンスや更新に手作業で行っているので、非常に時間がかかります。 例えば、別のシートにファイル名、コピー元、コピー先の一覧を作成し、 そのシートでファイル名、コピー元、コピー先を修正し、コピペができるようになるなど、 どうにかして簡素化したいのですが、どのように実現すればいいか、教えてくださると助かります。 ---------------------------------------------------------------------- Private Sub CommandButton1_Click()   Dim wb As Workbook Application.ScreenUpdating = False Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\AAA.xls", UpdateLinks:=0) ThisWorkbook.Sheets("BBB").Range("A1:B1").Copy wb.Sheets("CCC").Range("A1:B1").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Application.DisplayAlerts = False wb.Close (True) Application.DisplayAlerts = True Application.ScreenUpdating = True Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\BBB.xls", UpdateLinks:=0) ThisWorkbook.Sheets("BBB").Range("A2:B2").Copy wb.Sheets("CCC").Range("A2:B2").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Application.DisplayAlerts = False wb.Close (True) Application.DisplayAlerts = True Application.ScreenUpdating = True 'アイテム名、コピー元、コピー先、だけがちがう、同じようなマクロが50ファイル分ある。 End Sub

  • AccessVBAからExcelシート名を操作

    Access2003を使用しています。 AccessVBAで、日報のようなExcelを操作しようとしています。 シート名は日付で、当日シートをコピーし、翌日シートにデータを流し込むというものです。 当日シートをコピーし、新たなシートを翌日にリネームするところまではできていますが、 元シート名(当日)に(2)が残ってしまいます。 ※必ず一つ前のシートをコピーするという条件でも可です。 ※コピー元のシートに(2)は既に存在する場合がありますが、必ず日付のみのシートが存在します。 元シート名を変えずにコピーする、または元シート名(一つ前のシート)をリネームする方法があればご教示いただきたいと思います。 --------------------------------------------------- Dim xlApp As Object Dim xlSheet As Object Dim stFileName As String Dim stSheetName1 As String Dim stSheetName11 As String Dim xlBook1 As Object stSheetName1 = DatePart("d", DateAdd("d", -1, [Forms]![日報]![対象日]))  '今日 stSheetName11 = DatePart("d", [Forms]![日報]![対象日])  '対象日(明日) 'Excel展開 Set xlApp = Excel.Application Set xlBook = xlApp1.Workbooks.Open(Forms![日報作成フォーム]![日報1]) 'ファイル名 'シートコピー Set xlSheet = xlBook.Worksheets(stSheetName1) xlSheet.Copy , xlBook.Worksheets(stSheetName1) 'シート名変更 xlSheet.Name = DatePart("d", [Forms]![日報]![対象日]) '対象日(明日) xlApp.Worksheets(stSheetName11).Select MsgBox "コピー完了" End Sub

  • EXCEL97のマクロがXPで使用

    開発機 運用機(Error端末)   Win2000 WinXP(PRO)   EXCEL97 EXCEL97 EXCEL97で作成したマクロが WinXP(PRO)上でエラーが出ます。 EXCEL97+他のOSではエラーが出ないし 同じ WinXP(PRO)+ EXCEL97でも エラーの出ない端末もあります。 エラーの出る場所は以下のような記述です。 '***CSVファイルを開いて新規ウィンドウを作成*** Workbooks.Open FileName:= CSVファイルのフルパス '***新規ウィンドウのB4部分をコピー*** Range("B4").Select Selection.Copy '***元のファイルの結合部分に貼り付け*** Windows("元のファイル.xls").Activate Range("B3:J3").Select ActiveSheet.Paste Link:=True (ここでエラーが出る) Application.CutCopyMode = False  

  • エクセル(マクロ)で累計部分を更新しながらシートを

    日報作成をマクロで自動化する方法を探しています。 とりあえずできたのは、 1:「1日」シートを作り、セルA1には日付「2015年9月1日」を入力。 2:「1日」シートをコピーして「2日」シートを作成し、セルA1の日付を「2015年9月2日」に変更。 3:2の作業を「31日」シートまで繰り返す。 というところまでです。 (1つのワークブックに、「1日」~「31日」までのシートがある状態です。) これに加えて、たとえば、セルB1に当日売上を入力すると、 セルB2に月累計が出るようにしたいのです。 試してみたのは、「1日」シートのセルB2に「=B1」と入力し、 「2日」~「31日」シートのB2に =INDIRECT(TEXT(A1-1,"1日")&"!B2")+B1 と入力してみましたが、これだと月累計ではなく「1日」シートのみとの合計になってしまい、 「3日」~「31日」シートでは、数式内のシート名"1日"の部分を 手動で更新していかなければなりません。 数式内のシート名を翌日の日付に変更しながらシートをコピーする方法はありますか? または、 B2=前日シートのB2+当日シートのB1 となる数式は無いでしょうか?? ちなみに今マクロで使っているのは下記のコードです。 ——————————— Sub 日報作成() Dim firstDay As Date firstDay = InputBox("日報", "最初の日付を指定", Date) '最初のシートの日付を指定 Worksheets("1日").Range("A1") = firstDay Dim i As Integer For i = 1 To 30 Worksheets("1日").Copy after:=Worksheets(Worksheets.Count) '1日のコピーを末尾に作る Worksheets(Worksheets.Count).Name = i + 1 & "日" 'コピーしたシートの名前を変える Range("A1").Value = DateAdd("d", i, firstDay) '日付を一日ずつ足していく Next i End Sub ――――――――――― 似たようなデータを毎月大量に作るので、どうにか効率化できたらと思っています。 ちなみに、わたしはプログラミングCを少しかじったことがありますが、 マクロを使うのは初で、上記もネットで見つけたコードを少しいじった程度です、、 詳しい方がいらしたら教えてください。 よろしくお願いいたします。

  • ExcelのLeftFooterに書き込むには

    VB初心者です。 VBのフォームに入力した後、既存のExcelファイルを立上げ、 データーを指定のセルに書き込むプログラムを作りました。 下記がそのプログラムです。 D文書名という変数に格納されたデーターを ExcelのLeftFooterに書き込むにはどうしたらいいのでしょうか。 ご存知の方教えてください。 Private Sub 文書作成() Dim D文書ファイル名, D文書種類, D文書名, D文書管理番号, D作成者, D作成日 As String D文書ファイル名 = Me.文書ファイル名TextBox.Text D文書種類 = Me.文書種類ComboBox.Text D文書名 = Me.文書名TextBox.Text <---***このデーター*** D文書管理番号 = Me.文書管理番号TextBox.Text D作成者 = Me.作成者ComboBox.Text D作成日 = Me.作成年月日DateTimePicker.Text 'MsgBox(D文書ファイル名 & D文書種類) MsgBox("Excelファイルを立上げ" & Chr(13) & Chr(13) & "文書種類/文書名/管理番号/作成者/作成日を書き込みます。") Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks '既存のファイルを開く場合 Dim xlFilePath As String = "\\Ws55\日東電工\標準書類\原紙\原紙0.xls" Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet) xlApp.Visible = True '================== データの入力処理 ================== 'Dim xlRange As Excel.Range Dim strDat(2, 0) As Object Dim D文書ファイル名Range, D文書種類Range, D文書名Range As Excel.Range Dim D文書管理番号Range, D作成者Range, D作成日Range As Excel.Range D文書ファイル名Range = xlSheet.Range("A1:A1") D文書種類Range = xlSheet.Range("B2:B2") D文書名Range = xlSheet.Range("K2:K2") D文書管理番号Range = xlSheet.Range("F5:F5") D作成者Range = xlSheet.Range("AE4:AE4") D作成日Range = xlSheet.Range("S5:S5") D文書ファイル名Range.Value = D文書ファイル名 D文書種類Range.Value = D文書種類 D文書名Range.Value = D文書名 D文書管理番号Range.Value = D文書管理番号 D作成者Range.Value = D作成者 D作成日Range.Value = D作成日 End Sub

  • エクセルのマクロでファイル名変更

    Dim フォルダ パス = ActiveWorkbook.Path 本体 = ActiveWorkbook.Name 変更1 = Sheets(1).Range("B2") フォルダ = パス & "\" & 変更1 ' & "\" 拡張子 = Sheets(1).Range("B3") 語句1 = Sheets(1).Range("B5") 語句2 = Sheets(1).Range("C5") aa = 1 '7777777777 指定フォルダの書き出し 7777777777 Dim myFileName As String Sheets(1).Select Range("B7:B1000").Clear Range("D7:E1000").Clear 'Rows("2:10000").ClearContents '隠しファイルとシステムファイルも表示 myFileName = Dir(フォルダ & "\" & "*." & 拡張子, vbHidden + vbSystem) Sheets(1).Select While myFileName <> vbNullString Cells(Rows.Count, 2).End(xlUp).Offset(1).Value _ = myFileName myFileName = Dir() Wend 下端 = Range("B" & Rows.Count).End(xlUp).Row rrname = 1 For a = 7 To 下端 If rrname < 10 Then Cells(a, 4) = "第00" & rrname & "話" & Cells(a, 3) & "." & 拡張子 ElseIf rrname >= 10 Then Cells(a, 4) = "第0" & rrname & "話" & Cells(a, 3) & "." & 拡張子 ElseIf rrname >= 100 Then Cells(a, 4) = "第" & rrname & "話" & Cells(a, 3) & "." & 拡張子 End If rrname = rrname + 1 Next a For b = 7 To 下端 旧ファイル名 = Cells(b, 2).Value 新ファイル名 = Cells(b, 4).Value Name フォルダ & "\" & 旧ファイル名 As フォルダ & "\" & 新ファイル名 Next b でファイル名変更マクロを作成したのですが、『ファイル名または番号が不正です』とエラーが返ってきますが、何が悪いのでしょうか?

  • Excel VBA 複数のブックの複数シートから

    Excel VBA 複数のブックの複数シートからデータをコピーするマクロを作成したのですが、 コピー部分が上手く作動せず、訳の解らないデータが貼り付いてしまいます。 ちゃんとファイルは読み込んでいます。 、 VBA超初心者なので、うまく動作しませんでした。 どこが悪いのか教えて頂けないでしょうか。 やりたいことは ・同一フォルダ内に複数のExcelファイルがある ・各ファイル内には複数のシートがあり、シート数はファイル毎にばらばら ・各シートの構造は全て同じ ・VBAを保存してあるExcel(貼り付け用.xls)も同じフォルダに置いて作業します ・JEまとめ.ファイルの原本シートをコピーして、シート名に日付を入れたシートに ・全シート下記のセルのコピー(値、縦横変換)を日付をいれた原本コピーのシートに B1~3セル→A~C B4~5セル→G~H B6セル→J J22~24→D~F をシートの一番最初の行は見出しなので、その後上から順に値の貼付けをしたいのです。 エクセルは2003です。 宜しくお願いいたします。 Sub 集計コピー操作() Dim 集 As Workbook, 開 As Workbook Dim 原 As Worksheet, コピー As Worksheet Dim パス As String, フォルダ As String Dim 日付 As String Dim 紙 As Integer Dim 終 As Integer Dim 数 As Long '書込み行 '日付取得 日付 = Format(Date, "yyyymmdd") '新規シート追加 'シート名チェック Set 集 = ThisWorkbook For Each 原 In 集.Worksheets If 原.Name = 日付 Then 原.Activate Exit For End If Next 原 'シート作成 If 原 Is Nothing Then 'シート名が存在しない場合は作成 Sheets("原本").Copy Before:=Sheets(1) Set 原 = ActiveSheet 原.Name = 日付 Else End If 'Application.ScreenUpdating = False '画面ちらつき防止 'ファイル名設定 Set 集 = ThisWorkbook 'このbookをまとめとする。 パス = ThisWorkbook.Path 'このbookのパスを取得 フォルダ = Dir(パス & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until フォルダ = Empty '全て検索 If フォルダ <> 集.Name Then 'book名がこのbookの名前でなければ 'コピーブックの設定 Set 開 = Workbooks.Open(パス & "\" & フォルダ) '開ファイルとする。 紙 = Worksheets.Count 'シートカウント For 終 = 1 To 紙 数 = 数 + 1 'シートループ処理 For Each コピー In 開.Worksheets With WorksheetFunction 原.Cells(数, "A").Value = コピー.Range("B1").Value 原.Cells(数, "B").Value = コピー.Range("B2").Value 原.Cells(数, "C").Value = コピー.Range("B3").Value 原.Cells(数, "G").Value = コピー.Range("B4").Value 原.Cells(数, "H").Value = コピー.Range("B5").Value 原.Cells(数, "J").Value = コピー.Range("B6").Value 原.Cells(数, "D").Value = コピー.Range("J22").Value 原.Cells(数, "E").Value = コピー.Range("J23").Value 原.Cells(数, "F").Value = コピー.Range("J24").Value End With Next Next 'ブッククローズ処理 開.Close (False) '保存せずに閉じる End If フォルダ = Dir 'フォルダ内の次のbookを検索 Loop Application.ScreenUpdating = True '画面ちらつき防止を解除 MsgBox 紙 & "件のファイルをコピーしました。" End Sub

  • エクセルで複数ファイルコピー保存

    こういうことがやりたいです。 1、新規ブック作成 2、1997フォルダー内の19970303日報1を開きA1:K38をコピーし新ブック(sheet1)A1に貼り付け、次に19970303日報2を開きB3:K36をコピーし新ブック(sheet1)L5に貼り付ける。名前をつけて保存(新ブックのK2をファイル名にする)。すべて閉じる。また1からはじめ、同じ作業を次のファイル19970304日報1、19970304日報2に対して行う。  日報ファイルはファイル名が日付になっているため順番に並んでいます。またシートは1つです。  前にこのサイトで教えていた大ことを参考に作ってみましたが、日報ファイルが開いてコピーまでは動いていますが、貼り付けができないです。また名前をつけて保存もできないです。  初心者のため完全に理解して作っていなくておはづかしいですがご教授よろしくお願いします。 Sub copybook7() Dim myPath As String 'このブックのパス Dim DataFile As String 'Dir()で開くブック名 Dim copybook As Workbook '開いたブック Dim DataSht As Worksheet 'このブックの貼り付けシート Dim i As Long '貼り付け行カウンタ Workbooks.Add With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With With ActiveSheet.PageSetup Range("A1:G1,L1:AG1").ColumnWidth = 9 Range("H1:K1,AH1").ColumnWidth = 12 End With With ThisWorkbook Set DataSht = .Worksheets(1) myPath = "C:\1997\" DataFile = Dir(myPath & "*.xls", vbNormal) i = 1 Do While DataFile <> "" If DataFile <> .Name And _ InStr(1, DataFile, "日報") > 0 Then Set copybook = Application.Workbooks.Open( _ Filename:=myPath & DataFile, ReadOnly:=True) If InStr(1, DataFile, "日報1") > 0 Then copybook.ActiveSheet.Range("A1:K38").Copy DataSht.Range("A1").PasteSpecial Paste:=xlAll ElseIf InStr(1, DataFile, "日報2") > 0 Then copybook.ActiveSheet.Range("B3:K36").Copy DataSht.Range("L5").PasteSpecial Paste:=xlAll Else End If Application.DisplayAlerts = False copybook.Close SaveChanges:=False Application.DisplayAlerts = True Set copybook = Nothing End If DataFile = Dir ActiveWorkbook.SaveAs Filename:=ActiveSheet.Range("K2") & "日報" .Close Loop Set DataSht = Nothing End With End Sub

  • マクロ 記述が悪くエラーがかかります。

    いつも回答ありがとうございます。 最後らへんの記述で実行時エラー【型が一致しません】がかかります。 Worksheets("集計用").Range(b1, b2).Copy _ Destination:=Worksheets(b3).Range("B2") ← ここでエラーがかかる。 ワークシート名に変数を使用しているせいだと思います。 解決する方法を御指導して頂けないでしょうか?宜しくお願い致します。 Sub グラフの作成() Dim Date1 As Date Dim Date2 As Date Dim SName As String Dim b1 As Variant Dim b2 As Variant Dim b3 As Variant Dim d1 As Variant Dim d2 As Variant Dim d3 As Variant With Worksheets("集計用") s1: Date1 = Application.InputBox("最初の日付を2012/12/1のように入力してください。") If Date1 = 0 Then MsgBox "キャンセルされました。", vbOKOnly Exit Sub End If Set b1 = .Columns("B").Find(Date1, , xlValues, 1) If b1 Is Nothing Then If MsgBox("入力した日付が見当たりません。" & vbNewLine & _ "再度入力しますか?", vbYesNo) = vbYes Then GoTo s1 Else MsgBox "処理を中止しました", vbOKOnly Exit Sub End If End If d1 = b1.Row s2: Date2 = Application.InputBox("最初の日付を2012/12/31のように入力してください。") If Date1 = 0 Then MsgBox "キャンセルされました。", vbOKOnly Exit Sub End If Set b2 = .Columns("B").Find(Date2, , xlValues, 1) If b2 Is Nothing Then If MsgBox("入力した日付が見当たりません。" & vbNewLine & _ "再度入力しますか?", vbYesNo) = vbYes Then GoTo s2 Else MsgBox "処理を中止しました", vbOKOnly Exit Sub End If End If d2 = b2.Row s3: SName = Application.InputBox("商品名を入力して下さい。") If SName = "False" Then MsgBox "キャンセルされました。", vbOKOnly Exit Sub End If Set b3 = .Rows("3").Find(SName, , xlValues, 1) If b3 Is Nothing Then If MsgBox("入力した商品名が見当たりません。" & vbNewLine & _ "再度入力しますか?", vbYesNo) = vbYes Then GoTo s3 Else MsgBox "処理を中止しました", vbOKOnly Exit Sub End If End If d3 = b3.Column End With Worksheets.Add After:=Worksheets("集計用") ActiveSheet.Name = b3 Worksheets("集計用").Range(b1, b2).Copy _ Destination:=Worksheets(b3).Range("B2") Worksheets("集計用").Range(Cells(d1, d3), Cells(d2, d3)).Copy _ Destination:=Worksheets(b3).Range("C2") End Sub

  • Excelマクロのエラー

    お世話になります。 マクロは、超初心者で只今、本やネットで勉強中なのですが、本の通りに作成しましたが、 エラーが出てしまいます。 急いでおりまして、大変お手数ですがご教示お願いできますでしょうか? Excel2007でマクロを作成中(実際に業務で使用する環境は2003です)。 2点あります。 (1)サブフォルダ内の全ブックを開く  ファイルは開くのですが、下記のエラーが出てしまいます。  C:¥...... "\web保存\"が見つかりません。ファイル名およびファイルの保存場所が  正しいかどうかを確認してください。 (2)開いたファイルをhtm保存する。  htm保存できるのですが、ファイル名が「●●●.xls.htm」  となってしまい、元のファイル名の.xlsの拡張子が付いたままです。  ファイル名を変えず、「●●●.htm」となるようにしたいです。 どうぞ宜しくお願い致します。 (1)サブフォルダ内の全ブックを開く Sub 全ブックを開く() Dim パス名 As String Dim ファイル名 As String パス名 = ThisWorkbook.Path & "\web保存\" ファイル名 = Dir(パス名 & "*.xls*") Do While ファイル名 <> " " Workbooks.Open パス名 & ファイル名 ファイル名 = Dir() Loop End Sub (2)開いたファイルをhtm保存する Sub htm保存() Dim wb As Workbook Dim wbname As String For Each wb In Workbooks wb.Activate If wb.Name <> ThisWorkbook.Name Then wb.SaveAs FileName:=ThisWorkbook.Path & "\" & wb.Name & ".htm", FileFormat:=xlHtml, CreateBackup:=False wb.Close savechanges:=False End If Next End Sub

専門家に質問してみよう