エクセルでセル内容でpdfで保存しメールの起動まで

このQ&Aのポイント
  • エクセルで複数のセル内容を繋げてファイル名にする方法がわかりません。
  • ファイルを指定のパスに保存し、その後、pdfファイルを添付したメール画面でOutlookを起動したいです。
  • 自動送信ではなく、メールの起動までの方が汎用性が高いので、方法を教えてください。
回答を見る
  • ベストアンサー

エクセルでセル内容でpdfで保存しメールの起動まで

いつもお世話になっております。 ここで絶大なる支援を受けて表題に関するいくつかのマクロを教えていただいて色んな定常作業に組み込んで非常に便利に使い始めたのですが、下記の組み合わせが試行錯誤(当方の実力)ではどうしても達成出来ないのでHELPです。 1.エクセルの複数の指定セルを繋げてファイル名にする。   A1セルが「赤」、B1セルが「色」の場合はファイル名を「赤色」としたい。 2.上記のファイルを指定のパスのホルダーに保存する 3.そのpdfファイルを添付したメール画面でOutlookを起動する。 1.2.+指定アドレスに送信、まで全自動で完了する完成版はあるのですが、自動送信ではなくメールの起動までの方が非常に汎用性が高いので何とかお願いします。 また、ファイル名に2つのセルの内容をつなぐこともうまくいきませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

今晩は、参考に Sub Test()  Dim OutlookApp As Object  Dim OutlookMail As Object  Dim FilePath As String, FN As String  'ファイル名の作成  'A1セルが「赤」、B1セルが「色」の場合はファイル名を「赤色」としたい。  'A1、B1セルはSheet1に有るものと仮定  With Worksheets("Sheet1")   FN = .Range("A1").Value & .Range("B1").Value & ".pdf"  End With  MsgBox "ファイル名は:" & FN  '上記のファイルを指定のパスのホルダーに保存する  '指定のホルダーはデスクトップ上の[報告書]ホルダーと仮定  FilePath = CreateObject("WScript.Shell").SpecialFolders("Desktop")  FilePath = FilePath & "\報告書\" & FN  'FilePathの最終確認(確認後、必要なければ削除してください。)  MsgBox "ファイルパスは:" & FilePath  'PDFを指定のホルダーに出力  'PDF出力の対象シートをSheet1と仮定しています。  Worksheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=FilePath  'Outlookを起動  Set OutlookApp = CreateObject("Outlook.Application")  Set OutlookMail = OutlookApp.CreateItem(0)  With OutlookMail   .Display '画面を表示   .To = "abc@defg.ne.jp"   .CC = ""   .BCC = ""   .Subject = "メールの件名"   .Body = "メールの本文"   .Attachments.Add FilePath   '.Send '自動送信するのならコメントを外してください。  End With  Kill FilePath 'PDFファイルを削除  Set OutlookMail = Nothing  Set OutlookApp = Nothing End Sub

akira0723
質問者

お礼

お世話になります。 正月明けに早速試してみたのですが動きません。(ショック!&やっぱり!) 先ず変えてみたのは下のシート名”Sheet1"とRangeのセル番地を実際のシート名とセル番地に、 ”Desktop”を実際のファイルパスに、”報告書”を実際のフォルダー名に変えただけですがコンパイルエラー「構文エラー」となってしまいました。 エラーの内容は、Sub test()が黄色になって、FN=・・の行が赤文字ハイライトになっているのですが、ここは違うはずがないのでその後のファイルパスの不具合かとも思うのですが、後の行(コード)が前の行のエラーになることがあるのでしょうか? Desk Topの「報告書」フォルダーではできたのに、ファイルパスを変えようとしたらこのレベルなのですがよろしくお願いします。 With Worksheets("Sheet1")   FN = .Range("A1").Value & .Range("B1").Value & ".pdf"  FilePath = CreateObject("WScript.Shell").SpecialFolders("Desktop")  FilePath = FilePath & "\報告書\" & FN

akira0723
質問者

補足

いつもお世話になっております。 早々にダミーファイルで試してみました。 (私の場合)当然ながら何度かのエラーメッセーに試行錯誤して、デスクトップに「報告書」ファルダーを作成してみたらエラーメッセージが変わったので、よく見たらA1,B1が空白になっていたのでそれぞれに赤、色を入れてみたらメールが起動してきました。 感動!!! 残念ながら実際のファイルは会社なので年明けに動くことを確認して報告とお礼をさせていただきます。 私の場合、実際のファイルで動作確認しないと危ないので何かあればまたよろしくお願いします。 このコードもそろったので、仕事のタイプにより多くのエクセルの作業に汎用に使えそうです。

その他の回答 (7)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.8

> FilePath = CreateObject("WScript.Shell").SpecialFolders("\****\??? ?\XXXチーム\☆検査結果&成績書\サンプル名.原紙.顧客名" だからCreateObject("WScript.Shell").SpecialFoldersは デスクトップのパスを取得するときに使うのであって パスが分かっているのなら FilePath = "\****\????\XXXチーム\☆検査結果&成績書\サンプル名.原紙.顧客名" FilePath = "\****\ ここぐらいは伏字にする必要がありますか

akira0723
質問者

お礼

手取り足取り、それでも尚 試行錯誤の末、どうにか、やっと動きました。 本当にお手数をおかけしました。 すでに3つのファイルにコピペし、それぞれのホルダーに保存されることまで確認しました。 複数の担当者に使ってもらうことになります。 エクセルは入力しかできない人でも、データ入力後ボタンのワンクリックで指定ホルダーに、規則的なファイル名で保存し、送信まで出来る様になったので大変助かります。

akira0723
質問者

補足

何度もすみませんでした。 自宅でのTESTシートでうまくいったときに、 >CreateObject("WScript.Shell").SpecialFolders の意味が全く分からなかったので、実際のフォルダーで確認しないと危ないと思い、 >私の場合、実際のファイルで動作確認しないと危ないので何かあればまたよろしくお願いします。 として、BSを保留していました。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.7

>指定のホルダーはデスクトップ上の[報告書]ホルダーと仮定 >FilePath = CreateObject("WScript.Shell").SpecialFolders("\\****\???>\XXXチーム\☆検査結果&成績書\サンプル名\1.原紙\1.顧客名") SpecialFoldersはデスクトップのパスを知るために使っているので パスが分かっているのなら FilePath = "C:\XXXチーム\☆検査結果&成績書\サンプル名\1.原紙\1.顧客名" 又はネットワーク上なら FilePath = "\\****\???>\XXXチーム\☆検査結果&成績書\サンプル名\1.原紙\1.顧客名"

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.6

>With Worksheets("統合版(提出)") >FN = .Range("B10").Value & .Range("D10).Value & ".pdf" >End With  " を1つ忘れていますよ .Range("D10").Value

akira0723
質問者

補足

本当に出来が悪くて済みません。 ご指摘の個所を修正したらメールが起動して、宛先、件名、本文が入っているのですが、最後に「実行時エラー」「オートメーションエラーです」「指定されたファイルが見つかりません」と出ます。 シート名は実際のシート名に2か所変更しました。 マクロ実行時のメッセージとして、ファイル名とファイルパスが出るのですが両方ともファイル名と同じなのですが、パスがおかしいのでしょうか? 自宅でのDeskTopに作った”報告書”のフォルダーではうまくいったのと同じ個所を変更していると思うのですが。 (ファイルパスは違っていますが) 自宅では確認メッセージの省略も出来たのですが。。。 Sub Test() Dim OutlookApp As Object Dim OutlookMail As Object Dim FilePath As String, FN As String 'ファイル名の作成 'A1セルが「赤」、B1セルが「色」の場合はファイル名を「赤色」としたい。 'A1、B1セルはSheet1に有るものと仮定 With Worksheets("提出用") FN = .Range("B10").Value & .Range("D10").Value & ".pdf" End With MsgBox "ファイル名は:" & FN '上記のファイルを指定のパスのホルダーに保存する '指定のホルダーはデスクトップ上の[報告書]ホルダーと仮定 FilePath = CreateObject("WScript.Shell").SpecialFolders("\\****\???\XXXチーム\☆検査結果&成績書\サンプル名\1.原紙\1.顧客名") FilePath = FilePath & FN 'FilePathの最終確認(確認後、必要なければ削除してください。) MsgBox "ファイルパスは:" & FilePath 'PDFを指定のホルダーに出力 'PDF出力の対象シートをSheet1と仮定しています。 Worksheets("提出用").ExportAsFixedFormat Type:=xlTypePDF, Filename:=FilePath 'Outlookを起動 Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.CreateItem(0) With OutlookMail .Display '画面を表示 .To = "abc@defg.ne.jp" .CC = "" .BCC = "" .Subject = "メールの件名" .Body = "メールの本文" .Attachments.Add FilePath '.Send '自動送信するのならコメントを外してください。 End With Kill FilePath 'PDFファイルを削除 Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.5

>エラーの内容は、Sub test()が黄色になって、 >FN=・・の行が赤文字ハイライトになっているのですが なら、ここが間違っているのでしょう 実際に使ったコードをアップしてみてください。

akira0723
質問者

補足

Sub Test() Dim OutlookApp As Object Dim OutlookMail As Object Dim FilePath As String, FN As String 'ファイル名の作成 'A1セルが「赤」、B1セルが「色」の場合はファイル名を「赤色」としたい。 'A1、B1セルはSheet1に有るものと仮定 With Worksheets("統合版(提出)") FN = .Range("B10").Value & .Range("D10).Value & ".pdf" End With MsgBox "ファイル名は:" & FN '上記のファイルを指定のパスのホルダーに保存する '指定のホルダーはデスクトップ上の[報告書]ホルダーと仮定 FilePath = CreateObject("WScript.Shell").SpecialFolders("\\****\???\XXXチーム\☆検査結果&成績書\サンプル名\1.原紙\1.顧客名") 教えていただいたコードを丸ごとコピペして、セル番地をファイルパスをいじっただけのはずなのですが。 ファイルパスは希望のフォルダーをシフト+右クリックで「パスのコピー」で貼り付けました。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.4

ANo.1です。 既に先回りしてマクロを作った回答があるので、回答ではなく補足されたコードについて1点だけ……。 > FilePath = "\\Srv01\結果表\" & strSub & Format(Now(), "yymmdd hhmm") & ".pdf" > 'Sheet3の結果表の特定のセルに品名 > strSub = Worksheets("結果").Range("E14").Value & "試験結果" & "LOT " & Range("E19") 変数「strSub」に文字列を代入する前の空の状態で、変数「FilePath」の文字列を作るために使用しています。 > > また、ファイル名に2つのセルの内容をつなぐこともうまくいきませんでした。 の原因はこれでは?

akira0723
質問者

お礼

度々のアドバイスありがとうございます。 少し試してみたのですが、やはりうまくいきませんでした。 自分でも情けない状態で残念です。 お手数をおかけしました。

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.2

https://www.extendoffice.com/ja/documents/excel/4412-excel-save-as-pdf-and-email.html ↑に >1.2.+指定アドレスに送信、まで全自動で完了する完成版はあるのですが のコードがあるようです。 これを期待の動作に修正したコードを下記します。 コメントアウトした行は必要に応じて削除してください。 Option Explicit Sub Saveaspdfandsend() Dim xSht As Worksheet 'Dim xFileDlg As FileDialog Dim xFolder As String 'Dim xYesorNo As Integer Dim xOutlookObj As Object Dim xEmailObj As Object Dim xUsedRng As Range Const PdfDir = "C:\OKWave"  'PDFを保存するフォルダー Set xSht = ActiveSheet 'Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker) ' 'If xFileDlg.Show = True Then '  xFolder = xFileDlg.SelectedItems(1) 'Else '  MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder" '  Exit Sub 'End If xFolder = PdfDir + "\" + xSht.Cells(1, 1).Value & xSht.Cells(1, 2).Value + ".pdf" 'Check if file already exist 'If Len(Dir(xFolder)) > 0 Then '  xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _ '           vbYesNo + vbQuestion, "File Exists") '  On Error Resume Next '  If xYesorNo = vbYes Then '    Kill xFolder '  Else '    MsgBox "if you don't overwrite the existing PDF, I can't continue." _ '          & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro" '    Exit Sub '  End If '  If Err.Number <> 0 Then '    MsgBox "Unable to delete existing file. Please make sure the file is not open or write protected." _ '          & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File" '    Exit Sub '  End If 'End If Set xUsedRng = xSht.UsedRange If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then   'Save as PDF file   xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard      'Create Outlook email   Set xOutlookObj = CreateObject("Outlook.Application")   Set xEmailObj = xOutlookObj.CreateItem(0)   With xEmailObj     .Display     .To = ""     .CC = ""     .Subject = ""     .Attachments.Add xFolder     'If DisplayEmail = False Then       '.Send     'End If   End With Else  MsgBox "The active worksheet cannot be blank"  Exit Sub End If End Sub

akira0723
質問者

お礼

いつもありがとうございます。 お手数をおかけして本当に申し訳けありませんが今回は#No3のコードを使わせていただきます。

akira0723
質問者

補足

早々に試してみたのですが、「実行時エラー'1004':アプリケーション定義またはオブジェクト定義のエラーです。と出ます。 私の実力ではどこが違うのか全くチンプンカンプンです。 #No3さんのコードで試しても同じエラーが出たのですが、デスクトップに「報告書」というホルダーを作って、それでもエラーが出たのでA1とB1に文字を入れてみたら希望通りに動きました。 このレベルですので残念ながらご回答いただいたコードは動かせる自信がないので諦めます。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

> 1.2.+指定アドレスに送信、まで全自動で完了する完成版はあるのですが で、あればそのプログラムに手を入れた方が早いでしょう。 > また、ファイル名に2つのセルの内容をつなぐこともうまくいきませんでした。 上手く行かなかったと言うこの部分のコードと、実際にメールを送信する部分のコードを提示してください。

akira0723
質問者

補足

使っているコードを記載すべきと思ったのですが、色々思考錯誤してやっと動くようになったので下手に削除すると動かなくなってしまって、部分的に修正していただいたコードが動かなくなる可能性があると思い記載しませんでした。 一応下記のコードです。 Sub Test() Dim FilePath As String, strSub As String Dim OutlookApp As Object Dim OutlookMail As Object 'On Error Resume Next FilePath = "\\Srv01\結果表\" & strSub & Format(Now(), "yymmdd hhmm") & ".pdf" 'Sheet3の結果表の特定のセルに品名 strSub = Worksheets("結果").Range("E14").Value & "試験結果" & "LOT " & Range("E19") Worksheets("試験結果").ExportAsFixedFormat Type:=xlTypePDF, Filename:=FilePath Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.CreateItem(0) With OutlookMail .To = " " .CC = " " .BCC = " " .Subject = strSub .Body = "いつもお世話になっております。" & vbLf & "表題の件、添付の通りです。 " & vbLf & " " & vbLf & "     ABC(株) 業務課" .Attachments.Add FilePath End With MsgBox "送信完了" End Sub

関連するQ&A

  • エクセルでセル内容でpdfで保存しメールの起動まで

    長くなってしまって済みません。 先日(2018/12/28)ここで上記のマクロのコードを教えてもらって問題なく使い始めたのですが、別のBookにコピーして、ファイル名のセルを(10,4)と(1,1)から(15,4)と(1,1))に変更すると「実行時エラー 13、型が一致しません」と出ます。 うまくいっているシートのファイル名はD10+A1のセルで、今度はD15+A1をファイル名にしただけなのですが。。。。 (10,4)と(1,1)のままだと普通にメールが起動してくるのですがD10が空白セルの為A1の内容だけでファイル名になってしまいます。 ちなみにそのシートのD10に数値+アルファベットを入れると「型が一致しません」と上記と同じエラーが出ます。 教えてもらったコードのファイル名の(下の)セルの数値だけ変えたらうまくいったと思うのですが、今回はなぜかエラーになってしまいます。 質問ではA1+B1で質問しましたので(1,1)と(1,2)になっています。 xFolder = PdfDir + "\" + xSht.Cells(1, 1).Value & xSht.Cells(1, 2).Value + ".pdf" 全部のコードは下記の通りです。 Option Explicit Sub Saveaspdfandsend() Dim xSht As Worksheet 'Dim xFileDlg As FileDialog Dim xFolder As String 'Dim xYesorNo As Integer Dim xOutlookObj As Object Dim xEmailObj As Object Dim xUsedRng As Range Const PdfDir = "C:\OKWave"  'PDFを保存するフォルダー Set xSht = ActiveSheet 'Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker) ' 'If xFileDlg.Show = True Then '  xFolder = xFileDlg.SelectedItems(1) 'Else '  MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder" '  Exit Sub 'End If xFolder = PdfDir + "\" + xSht.Cells(1, 1).Value & xSht.Cells(1, 2).Value + ".pdf" 'Check if file already exist 'If Len(Dir(xFolder)) > 0 Then '  xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _ '           vbYesNo + vbQuestion, "File Exists") '  On Error Resume Next '  If xYesorNo = vbYes Then '    Kill xFolder '  Else '    MsgBox "if you don't overwrite the existing PDF, I can't continue." _ '          & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro" '    Exit Sub '  End If '  If Err.Number <> 0 Then '    MsgBox "Unable to delete existing file. Please make sure the file is not open or write protected." _ '          & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File" '    Exit Sub '  End If 'End If Set xUsedRng = xSht.UsedRange If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then   'Save as PDF file   xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard      'Create Outlook email   Set xOutlookObj = CreateObject("Outlook.Application")   Set xEmailObj = xOutlookObj.CreateItem(0)   With xEmailObj     .Display     .To = ""     .CC = ""     .Subject = ""     .Attachments.Add xFolder     'If DisplayEmail = False Then       '.Send     'End If   End With Else  MsgBox "The active worksheet cannot be blank"  Exit Sub End If End Sub

  • VBAで、指定したセルの文字のPDFファイルを印刷したいのですが。

    VBAで、指定したセルの文字のPDFファイルを印刷したいのですが。 VBAの起動時に、指定したセルの文字をファイル名として読み取って、 そのファイル名のPDFファイルを自動印刷させたいのですが、 セルの文字を、PDFの起動パスにセットする方法が分かりませんので ご教授いただけませんでしょうか。 具体的にはこの様な処理を考えています。 A1セルの文字を、PDFのファイル名にします。 PDFファイルは、C:¥PDFファイル に保存されています。 A1に「てすと」の文字があれば、「てすと.pdf」が印刷されます。 お手数ですが宜しくお願いいたします。

  • エクセルシートをVBAでPDFファイルで保存する

    いつもお世話になっております。 先日ここで、(1)エクセルシートから自動でPDFファイルを作成し、(2)所定のフォルダに自動で保存し、(3)作成されたPDFファイルを決まった宛先に自動送信する、というVBAのコードを教わって非常に満足して使い始めたのですが、使ってみたらどんどん欲が出てきて3度目の質問です。 上記のコードでは、PDFファイルが「送信.pdf」で上書きされてしまう事は分かっていたのですが、メールの送信日時で区別できるので送信BOXから手動で専用BOXに移動すれば良いと思ったのですが、やはりPDFファイルを所定のフォルダーに自動で保存できれば一気に完了するので何とかならないかと。 一応NETで「日付をファイル名にする」といういくつかのコードを調べて種々試行錯誤してみたのですが、当方の実力では下記のVBAコードに組み込むことはできないとの結論に至りました。(情けない限り) 追加したいことは自動作成されるpdfファイルを上書きされずに所定のフォルダに自動保存する、です。 ファイル名としては特定のセルの値(これがbest)、もしくは日付(yyyy/dd/mm)でも十分です。 とにかく自動作成されるPDFファイルが所定のフォルダに上書きされずに保存されればOKなのですが。 本当に何度も追加質問をすることになってしまって申し訳ないのですが宜しくお願いいたします。 Sub Test() Dim FilePath As String, strSub As String Dim OutlookApp As Object Dim OutlookMail As Object 'On Error Resume Next FilePath = "\\ABC\123\あいう\アイウ\サンプル名\結果報告書\送信.pdf" 'Sheet3の結果報告書の特定のセルに品名 strSub = Worksheets("結果報告書").Range("E14").Value & "XXXX" & "LOT " & Range("E19") Worksheets("結果報告書").ExportAsFixedFormat Type:=xlTypePDF, Filename:=FilePath Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.CreateItem(0) With OutlookMail .To = "*****@xxxxx.co.jp" .CC = "" .BCC = "" .Subject = strSub .Body = "表題の件添付の通りです。" .Attachments.Add FilePath .Send End With   MsgBox "送信完了" End Sub

  • excelでセルの内容からファイルを開くには

    アドバイスをお願いします。excel でセルに入力した内容と同じ名のファイルを開きたいのですが、良い方法があれば教えてください。例えば セルの内容を1月、2月、、、、、と変更して指定したいのですが?

  • エクセルでセル内容でフォルダを作って保存

    今はマクロボタンをクリックすると特定のセルの内容で指定したフォルダにPDFで保存されるようにして使っているのですがその前段取りが結構手間がかかって間違いも多いので改良したいのです。 やりたいことは、 決まった名前(見積書)のシート上のセルの内容(顧客名)で、例えばデスクトップの決まったフォルダ(見積書)の中に、A1セルの内容(顧客名)でフォルダを作成し、セルB2+C3の内容(日付+見積No)をファイル名にPDFで保存する、ということは出来るのでしょうか? 更にA1(顧客名)が同じなら既存の顧客フォルダにB2+C3で保存したいのですが。。。 かなり贅沢な要求だと思いますが、もし可能であればよろしくお願いします。

  • Excel で セルに入力したBMPファイルを入力したセルの横に自動表示したい

    EXCEL2000を使っています。 セルに入力したBMPファイル名(ドライブ名やホルダー名も入力します)の横に自動的に入力したBMPファイルの絵を表示したいと思います。 方法を詳しく教えてください。

  • エクセルのファイル名を任意のセルの内容にしたい

    windows2000、Excel2000の環境です。 ファイル名が数字7桁のブックが約1000個あります。 このブックのファイル名をブックに含まれるセル(最大2つ)の文字列+元のファイル名の数字7桁にしたいのです。 マクロやVBで一括で変換する方法はありませんでしょうか? セルの指定は特定の個所ではなく、ブックごとに違いますので、ブックを1つずつ開いて指定する形になります。 よろしくお願いします。

  • ファイル名を「任意のセル内容+指定した語句」にしたい

    エクセルのファイル名を 「ある決まったセルに入力された文字」+「こちらで指定した語句」に出来ないかと思っています。 例)セルA1にある文字「100200-01」、指定した語句「注文書」   結果「100200-01注文書」というファイル名がつく。 また、これを、保存先を指定しなく、それぞれ操作者が指定した保存先に保存することは可能でしょうか? 保存場所を任意で指定できないのであれば、 ファイルを保存する作業はしなくて、ファイル名だけつける処理のみでもよいです。「名前をつけて保存」のWINDOWが開いて、ファイル名欄にこちらの指定したファイル名が入った状態になるまでを自動化するというのでもいいです。 以上よろしくお願いいたします。

  • エクセルのセルの中身をhtmlファイルで簡単に保存させたい?

    エクセルのセルの中身をhtmlファイルで簡単に保存させたい? エクセル2003を使っています。 仮に A1にファイル名(index.html)  B1にhtmlの中身 A2にファイル名(tesuto1.html) B2にhtmlの中身 A3にファイル名(tesuto2.html) B3にhtmlの中身 以下同様に続く があったとします。 いつもはセルBのhtmlの中身をコピーしてエディタに貼り付け、ファイル名を指定して保存(Aのセル)していたのですが、手動でやるのが面倒なのでマクロを使って簡単にやりたいのですが出来るでしょうか? マクロ経験なしの素人ですがよろしくお願いします。

  • Excelで新規保存の名称をセルの内容にする

    Excelのマクロで下記のようなものを作りました。 Sub 自動保存() ' ' 自動保存のマクロ ' マクロ記録日 : 2008/8/10 ユーザー名 : user ' ' Sheets("ワークエリア").Select ActiveWorkbook.Unprotect Sheets("ワークエリア").Select Sheets("ワークエリア").Copy Windows("部品表.xls").Activate Sheets("計算").Select Range("B4").Select Selection.Copy Windows("Book1").Activate ActiveWindow.SmallScroll Down:=-27 ActiveWorkbook.SaveAs Filename:="D:\user folder\平成20年8月11日.xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False ActiveWindow.Close End Sub ・「部品表」というファイルの「ワークエリア」と言うシートを新規のファイルとして保存したい。 ・保存名は「計算」というシートにあるB4のセルの内容にしたい。 (today()関数を使った当日の日付をファイル名にしたい) ・いろいろ試したけどファイル名が変数にならず固定されてしまう。 (最初に入れた日付がファイル名になってしまい翌日以降がうまくいかない) どうすればいいのでしょうか?わかる方ご指導下さい。

専門家に質問してみよう