• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAデータ送信と保存)

エクセルVBAデータ送信と保存

このQ&Aのポイント
  • エクセルVBAを使用して特定のメールアドレスにデータを送信し、送信した日付でデータを保存する方法について質問です。
  • 私はエクセルVBAで作成したデータを指定されたメールアドレスに送信し、送信した日付でデータを保存したいと考えています。
  • エクセルVBAを使ってデータを送信し、送信した日時でデータを保存する方法について教えてください。

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

  • ベストアンサー
  • ap_2
  • ベストアンサー率64% (70/109)
回答No.3

ANo.2の長さに自分でも驚きました・・・ 余談ですが、ファイルパスの取得方法は知ってます? SaveCopyAsでファイル名変わらないコトに気づく前に、ファイル名変わるならSaveAsで戻せしゃいいじゃん、と思ったんで。もしかしたら、と。せっかくなので、念のため↓  org = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name

77TAKETAKA
質問者

お礼

色々教えていただき有難う御座います。 最終下記で動作OKでした。 Unload Me ActiveWorkbook.Save Dim org As String ActiveWorkbook.SaveCopyAs _ Filename:="L:\発注書\済\" _ & Format(Now, "mm月dd日hh時mm分") & ".xls" Application.Dialogs(xlDialogSendMail).Show arg1:="xxxx@xxx.co.jp,xxx@xxx..co.jp" mailbody = "gg"

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • ap_2
  • ベストアンサー率64% (70/109)
回答No.2

>> ANo.1補足 色々おかしいですね・・・何が違うんだろ(--; 僕の環境は、XP、Excel2003、秀丸メール。Excel古いケド。 SaveCopyAsは複製を保存なので、開いてるBookは何も変わらないです。Book自体も変わるのは、SaveAs(名前を付けて保存)の方。 また、xlDialogSendMailでのメール添付も、メーラーのフォルダ内にBookの複製が保存され、ソレが送信されます。 どっちも複製されるので、元ファイルに影響しないはず。。。  ・SaveCopyAsの後、添付ファイルの名前が変わる?  ・メール添付後、Saveに失敗する? 順番変えてもダメなら、共通する(と思われる)複製保存の影響?連続処理で同期が取れなくなるのかも・・・? Copyとかで、同期とれずActive~の切り替わりが遅れることはあるんです。SaveCopyAsでActiveが変わるとは思わないんですが、現象的には対象(Activeworkbook)がおかしくなってる感じなので。 というか、他に思いつかないです。。 CreateObjectなら問題ないとは思いますが、アレはアレで面倒くさそう。なにより原因が気になります。 もしよかったら、以下を試してみて。  'MsgBoxでタイミング変えてみる  ' 1.送信前(添付状態)にOKで成功 -> タイミング  ' 2.送信後にOKなら成功 -> 添付中ダメ  ' 3.どうしても失敗 -> 添付後は壊れる@致命的  Application.Dialogs(xlDialogSendMail).Show  if vbOK = MsgBox("送信済みを保存しますか?", vbOKCancel) then   ActiveWorkbook.SaveCopyAs "D:\済.xls"  End if  '同期問題ならActiveやめるのも有効かと  Set wb = ActiveWorkbook  Application.Dialogs(xlDialogSendMail).Show  wb.SaveCopyAs "D:\済.xls"  '先に保存するなら・・・  Set wb = ActiveWorkbook  wb.SaveCopyAs "D:\済.xls"  wb.Save 'セーブしてみる?  'wb.Activate 'あるいはActivateしてみる?  Application.Dialogs(xlDialogSendMail).Show こんな感じでイケないかなぁ。。 個人的には、送信したか不確定な状態で「済」を保存したくないのもあり、MsgBoxで確認(待つ)か、保存処理は別ボタンに分けたい気がしますが。

すると、全ての回答が全文表示されます。
  • ap_2
  • ベストアンサー率64% (70/109)
回答No.1

> 指定場所にデータのアイコンは 送信済ファイルのことですか? 軽く試しましたが、コチラでは保存できてますよ。 ファイルが見つからないってエラー、ファイルパス絡みで何かあったような・・・XPModeでしたっけ?思い出せない。。。 ファイル破損じゃなく、環境的な問題だと思います。Excel開いてドラッグ&ドロップや、他のPCで開けるかなど、ちょっと確認してみてください。 それと気になったのは、 xlDialogSendMailだと送信画面でるだけで、本文と「送信」は手作業なはず。そのあたりは問題ないですか?CreateObjectで頑張れば、送信自動化できたかと。

77TAKETAKA
質問者

補足

アドバイス有難う御座います。 環境的な問題試してみましたが だめでした。 ActiveWorkbook.SaveCopyAs _ Filename:="D:\素材発注書\" _ & "素材発注送信済" & Format(Now, "mm月dd日hh時mm分") & ".xls" Application.Dialogs(xlDialogSendMail).Show arg1:="xxxxx@xxxxx.co.jp" 以上のようにするとデータが保存され通常どうり開くのですが 送信データの名前を変えず保存データのみ名前を変えたいため 一度ダイアログをつかわず直接送信するほうでがんばってみます

すると、全ての回答が全文表示されます。

関連するQ&A