「ファイルを添付して送ろうとしたら、なぜかエラーになった」「35MBの制限に引っかかって大事な資料が送れない」「クラウドに上げる手間なく、ローカルのOfficeファイルをそのまま直接Outlookで共有できないの?」――そんな悩みを抱えているあなたに、この記事はぴったりです。
実は、OutlookでWordやExcel、PowerPointのローカルファイルを共有する方法は複数あり、状況によってベストな手段が変わります。しかも2026年5月には新しいOutlookで大きな仕様変更が予定されており、今後のやり方も変わってきます。今のうちに全パターンを理解しておくと、毎日のメール業務がぐっとラクになります。
- OutlookでWord・Excel・PowerPointのローカルファイルを添付・共有する方法を全パターン解説
- 35MB制限の回避策と、OneDriveリンク共有の具体的な手順を初心者向けにわかりやすく紹介
- 2026年5月開始の新Outlookアップデートで何が変わるのかを先取り解説
- そもそも「ローカルファイルをOutlookで共有する」とはどういうこと?
- OutlookでWordやExcel・PowerPointのローカルファイルを直接添付する基本手順
- エクスプローラーの右クリックメニューからOutlookで直接共有する裏ワザ
- 2026年5月の新Outlook大型アップデート!ローカルファイル共有がさらに進化する
- 35MBの壁を超える!容量制限の全体像と賢い回避策
- PDF・XPS形式での送信でセキュリティも安心!
- SharePoint・OneDrive for Business経由のセキュアなリンク共有
- 「ファイルを共有する方法」の比較まとめどれを選ぶべきか?
- よくある失敗とトラブルシューティング
- 情シス歴10年以上が教える「現場でしか気づけない」落とし穴と本音の解決策
- Outlookを劇的に使いやすくする「知らないと損する」便利設定5選
- Excel VBAを使ったOutlookファイル添付・送信の自動化コード集
- 「なぜか共有リンクが開けない」現場でよく体験する謎エラーの正体と解決法
- 新しいOutlookへの移行で実際に起きたトラブルと対処の体験談
- SharePoint・OneDrive for Business管理者が知っておくべき共有設定の急所
- 「Outlookが重くて添付ファイルの操作がストレス」を解決する高速化設定
- 「間違ったファイルを送ってしまった!」緊急時のリコール操作と現実的な限界
- ぶっちゃけこうした方がいい!
- OutlookでのWord・Excel・PPTファイルローカル添付・直接共有に関する疑問解決
- 今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
- まとめ
そもそも「ローカルファイルをOutlookで共有する」とはどういうこと?
まず基本をおさらいしましょう。「ローカルファイル」とは、OneDriveやSharePointといったクラウドストレージではなく、自分のパソコンのハードディスクやSSDに保存されているファイルのことです。たとえば、デスクトップや「ドキュメント」フォルダに保存してあるWordの報告書、Excelの集計表、PowerPointのプレゼン資料などが該当します。
これらをOutlookで相手に送る方法は、大きく分けて2つのアプローチがあります。ひとつはファイルをそのままメールに添付して送る方法、もうひとつはファイルをOneDriveやSharePointに保存して共有リンクを送る方法です。どちらにも一長一短があるので、状況に応じて使い分けることが大切です。なお、ファイルをそのまま添付する方法は手軽ですが、送信先のメールサーバーやOutlookの設定によっては容量制限に引っかかる可能性があるため、大きなファイルには注意が必要です。
OutlookでWordやExcel・PowerPointのローカルファイルを直接添付する基本手順
最もシンプルな方法から見ていきましょう。OutlookでローカルのOfficeファイルを添付するには、主に2つの操作方法があります。
ドラッグ&ドロップで添付する方法
最も直感的な操作は、ファイルをメールの作成画面に直接ドラッグ&ドロップすることです。エクスプローラーで添付したいWordやExcel、PowerPointのファイルを見つけたら、そのままメール本文のエリアに引っ張ってくるだけで添付完了です。マウス操作だけで完結するため、初心者でも迷わず使えます。
メニューから「ファイルの添付」で選択する方法
もうひとつの方法は、メニューを使う手順です。以下の流れで操作します。
- Outlookで「新しいメール」ボタンをクリックして、新規メール作成画面を開きます。
- 上部リボンの「挿入」タブをクリックします。
- 「ファイルの添付」ボタンをクリックします。
- 「このPCを参照」を選択します(ローカルファイルを添付する場合はこちらを選びます)。
- 添付したいWord・Excel・PowerPointのファイルを選び、「挿入」ボタンをクリックします。
この手順は、クラシック版OutlookでもMicrosoft 365版Outlookでも共通して使える基本操作です。添付できるファイル形式は特に制限なく、元の形式のまま(.docx、.xlsx、.pptxなど)コピーが送信されます。
Officeアプリの「ファイル」メニューから直接送る方法
実はWordやExcelを開いている最中に、わざわざOutlookを別途起動せずにそのまま送信できる方法もあります。Wordなら画面左上の「ファイル」→「共有」→「電子メール」の順にクリックし、表示されたオプションから送信形式を選ぶと、Outlookのメール作成画面が自動的に開いてファイルが添付された状態になります。送信形式のオプションは以下のとおりです。
まず「添付ファイルとして送信」は、元のファイル形式(.docx、.xlsxなど)のコピーを添付してメールを開きます。受信者はファイルをダウンロードして自由に編集できます。次に「PDFとして送信」は、ファイルをPDF形式に変換して添付します。書式崩れを防ぎたい場合や、相手に編集させたくない場合に便利です。そして「XPSとして送信」は、.xps形式(MicrosoftのPDF類似フォーマット)で添付する方法ですが、現在はPDF送信のほうが一般的です。
特にWordとExcelには、ファイルを添付としてではなくメール本文そのものとして送信する機能もあります。この機能を使うには、クイックアクセスツールバーに「メールの宛先に送信」コマンドを追加する必要があります。追加後はボタンをクリックするだけでファイルの内容がメール本文として展開され、受信者がダウンロードしなくてもメール画面でそのまま内容を確認できるようになります。頻繁に資料を本文共有する方には覚えておく価値があります。
エクスプローラーの右クリックメニューからOutlookで直接共有する裏ワザ
Windows 10/11を使っている方なら、もっとスマートな方法があります。エクスプローラーでWord・Excel・PowerPointのファイルを右クリックして「送る」→「メールの受信者」を選ぶと、Outlookのメール作成画面が開いてファイルが自動で添付されます。アプリを先に起動する必要がないので、急いでいるときに重宝します。
さらに、新しいOutlock for Windowsでは2025年末から2026年にかけて、右クリックメニューに「新しいOutlookで共有」という選択肢が追加されています。これにより、ファイルを右クリック→「共有」→「新しいOutlookを選択」という流れで、新Outlookのメール作成画面を呼び出してローカルファイルを添付することができるようになりました。従来は右クリック共有をすると旧Outlookしか開けなかった問題が、この更新で解消されています。
2026年5月の新Outlook大型アップデート!ローカルファイル共有がさらに進化する
ここが今回の記事で最も注目すべきポイントです。Microsoftは2026年3月時点で、2026年5月から新しいOutlook for Windowsにおいてローカル保存のWord・Excel・PowerPointファイルをメールで直接添付・共有できる機能を大幅強化すると正式に発表しています(Microsoft 365 ロードマップID: 557675)。
具体的には、WordやExcelを編集中に「送信」操作をすると、わざわざファイルを保存してOutlookを起動して添付する、という複数ステップの作業を省略できる「コピーを送信」フローが統合されます。つまり、Officeアプリからワンアクションでメールに添付されたコピーが作成されてOutlookが起動するイメージです。この機能はデフォルトで有効になり、管理者の設定変更は不要とされています。
これまで新Outlookの弱点として指摘されていた「ローカルファイルの添付がクラシックOutlookに比べて不便」という問題が、この5月アップデートで実質的に解消されます。GCC環境(政府・公共機関向けクラウド)では2026年6月に展開予定です。組織で新Outlookへの移行を検討している場合は、このタイミングで本格的に切り替えを進めるのも良い判断です。
35MBの壁を超える!容量制限の全体像と賢い回避策
Outlookでローカルファイルを添付するときに最大の落とし穴となるのがファイルサイズの制限です。ここを理解しておくと、エラーに悩むことがなくなります。
Outlookの添付ファイル制限は利用環境によって異なります。クラシックOutlook(デスクトップ版)の場合は最大で35MBですが、会社のExchangeサーバー経由のビジネスメールではデフォルトが10MBに設定されていることも多く、組織によってはさらに低い上限を設けているケースもあります。Outlook.comとGmailなどのインターネットメールアカウントを使っている場合は20〜25MBが目安です。つまり「35MBまで大丈夫」と思っていても実際には送れない、という状況が起こりやすいので注意が必要です。
この制限を回避する最もスマートな方法が、OneDriveの共有リンクを使う方法です。ファイルをOneDriveにアップロードし、そのリンクをメールに挿入すれば、メール本体のサイズはほぼゼロのままで最大2GBまでのファイルを共有できます。手順はシンプルで、Outlookのメール作成画面で「ファイルの添付」→「Web上の場所を参照」→「OneDrive」を選択してファイルを指定するだけです。
OneDriveリンク共有の注意点とアクセス許可の設定
OneDriveリンクを使う場合、デフォルト設定では受信者がファイルを編集できる状態でリンクが共有されます。社外の人に送る場合や、閲覧だけさせたい場合は、リンクの「∨」マークをクリックして「アクセス許可の変更」から「すべてのユーザーが表示可能」に変えるのを忘れないようにしましょう。逆に、チームで同じファイルを共同編集したい場合は編集許可のまま送ることで、複数人がリアルタイムで作業できる共同編集の状態が実現します。
また、社内にファイルサーバーがある組織では、ファイルのパスをハイパーリンクとしてメールに貼り付けて共有する方法も使われています。エクスプローラーでファイルを選択して
Shift
キーを押しながら右クリックし、「パスのコピー」でクリップボードに保存、その後Outlookの本文欄で
Ctrl+K
を押して「ハイパーリンクの挿入」画面を開き、
Ctrl+V
でパスを貼り付ければ、クリックして直接ファイルにアクセスできるリンクが完成します。ただしこの方法は、受信者が同じ社内ネットワークに接続している場合のみ有効という制約があります。
PDF・XPS形式での送信でセキュリティも安心!
機密性の高い資料や、書式を正確に伝えたい文書を送る場合は、PDF形式への変換送信が非常に有効です。PDFに変換してから送ることで、受信者のPC環境によってレイアウトが崩れるリスクがなくなり、また誤って内容を書き換えられる心配も低減できます。
Word・Excel・PowerPointのどのOfficeアプリでも、「ファイル」→「共有」→「電子メール」→「PDFとして送信」を選ぶだけで、自動的にPDF変換が行われてOutlookの添付ファイルにセットされます。別途PDFソフトを使う必要がなく、ワンストップで完結するのが便利な点です。
なお、PDFの場合もファイルサイズには注意が必要です。グラフィックの多いPowerPointや高解像度画像を含むWordは、PDF変換後でも大きなサイズになることがあります。その場合はPDFをOneDrive経由で共有するか、Adobe AcrobatやオンラインツールでPDFのファイルサイズを圧縮してから送るのが現実的な対応策です。
SharePoint・OneDrive for Business経由のセキュアなリンク共有
企業・組織でMicrosoft 365を使っている場合は、OneDrive for BusinessまたはSharePoint Onlineを使った共有リンクが最もセキュアで管理しやすい方法です。この方法の最大のメリットは、相手がファイルを常に最新バージョンで参照できることです。ファイルをメールで送ってしまうと、その後に修正が発生したときに改めて送り直す手間が発生しますが、共有リンクなら元ファイルを更新するだけで相手が見るバージョンも自動的に最新になります。
SharePoint OnlineやOneDrive for Businessでは、共有リンクの設定を「表示のみ(ダウンロード禁止)」に設定することも可能です。これにより、ファイルを閲覧させることはできても、ダウンロードや印刷はブロックできる状態で共有できます。機密情報を含む資料を「見せる必要はあるが、持ち帰られては困る」というケースでは、この設定が非常に有効です。2020年5月頃からはOfficeファイル以外のPDFや画像ファイルにも同様のダウンロード禁止オプションが使えるようになっています。
共有リンクを作成する手順は、対象ファイルを右クリックして「共有」を押し、リンク設定画面でアクセス許可(閲覧のみ・編集可・特定のユーザーのみなど)を指定してから「リンクのコピー」または「送信」を選ぶだけです。Microsoft 365を持っていない受信者にも共有できます(「リンクを知っているすべてのユーザー」設定にした場合)。
「ファイルを共有する方法」の比較まとめどれを選ぶべきか?
ここまで紹介してきた方法を整理すると、状況に応じた使い分けが重要だということがわかります。以下の表で一覧を確認してください。
| 方法 | 向いている状況 | ファイルサイズ上限 | 受信者の編集 |
|---|---|---|---|
| 直接添付(コピー) | 小〜中サイズのファイルを即座に送りたい時 | 10〜35MB(環境による) | 可(独立したコピー) |
| PDFとして送信 | 書式を正確に伝えたい・編集させたくない時 | 10〜35MB(環境による) | 不可(PDF形式) |
| OneDriveリンク共有 | 大容量ファイル・最新版を常に共有したい時 | 最大2GB | 設定次第で可/不可 |
| SharePoint/OneDrive for Business | 企業内・セキュリティ重視の共有 | 最大2GB以上 | 細かく権限設定可能 |
| ファイルパスのハイパーリンク | 社内ネットワーク上のファイルを社内で共有する時 | 制限なし(リンクのみ) | 元ファイルに依存 |
上記をふまえると、日常業務で最もバランスが良い方法は、小さいファイルは直接添付、大きいファイルはOneDriveリンクという使い分けです。OneDriveリンクに慣れてくると、ファイルサイズに悩むことがほとんどなくなるため、ぜひ積極的に活用してみてください。
よくある失敗とトラブルシューティング
新しいOutlookで添付したファイルがメールに残らず下書きになってしまう
これは2025年から2026年にかけて多くのユーザーが報告している問題です。WordやExcelから直接「添付ファイルとして送信」を選択したとき、新しいOutlookではメールが送信されずに下書きフォルダに保存されてしまうケースがあります。この場合の対処法は2つあります。ひとつ目は下書きフォルダを確認して手動で「送信」ボタンを押す方法、ふたつ目は一度ファイルをローカルに保存してからOutlookを直接開いてドラッグ&ドロップで添付する方法です。前述の2026年5月アップデートにより、このバグは根本的に解消される予定ですが、それまでの間は手動での対応が必要です。
OneDriveリンクを貼り付けたらビジネスメールとして失礼に見えてしまった
OneDriveリンクを外部の宛先に送る場合、リンクだけが貼り付けられた状態では確かに素っ気ない印象を与えることがあります。OneDriveのWebページからリンクを作成した後に、いきなり送信ボタンを押さず、必ずリンクの前後に「下記よりご確認ください」などの一文を添えることがビジネスマナーとして大切です。送信前に自分宛にテスト送信して表示確認するのも有効です。
添付ファイルを送ったが受信者が開けないと言っている
これはOfficeのバージョンの違いや、セキュリティソフトによるブロックが原因であることが多いです。解決策として、PDF形式に変換してから再送信するのが最も確実です。相手がMicrosoft Officeを持っていない場合や、スマートフォンで確認することが予想される場合は、最初からPDFで送ることを基本ルールにすると後々のトラブルが減ります。
添付ファイルのサイズ上限をどうしても変更したい(法人・IT管理者向け)
組織のIT管理者であれば、Windowsレジストリを編集することでOutlookの添付ファイル上限を変更できます。レジストリエディタを開き、Outlookのキー配下に
MaximumAttachmentSize
というDWORD値を作成して、送信したい最大サイズ(KB単位)を10進数で入力します。たとえば30MBにしたい場合は
30720
と入力します。ただし、Exchange Serverやメールサービス側にも制限がある場合はそちらの設定変更も必要です。むやみにサイズを上げると受信者側のサーバーで拒否されることもあるため、根本的な解決策としてはOneDriveリンク共有への移行が最善です。
情シス歴10年以上が教える「現場でしか気づけない」落とし穴と本音の解決策
ここからは、IT部門のサポートデスクや社内インフラ管理を長年担ってきた視点から、マニュアルや公式ドキュメントには書いていない現場の実態をお伝えします。同じ質問が社内で何度も上がっては、そのたびに対処してきた経験をもとに書いています。
「添付したはずのファイルが消えた」はどこで起きているのか?
現場で最も多いトラブルのひとつが「ファイルを添付して送ったのに、相手に届いたメールに添付がない」というケースです。原因は複数あって、まず疑うべきは送信先のメールサーバーによる自動削除です。特に大手企業や官公庁のメールシステムは、セキュリティポリシーの一環として実行可能ファイル(.exe、.zipの中に.exeが含まれているなど)を自動的に削除する設定になっていることが珍しくありません。送信者側には何のエラーも出ず「送信済み」になっているのに、受信者には届いていない、という幽霊のような状態が発生します。
もうひとつよくあるのが、アンチウイルスソフトによる検疫です。これは送信側・受信側どちらでも起こります。Officeファイル(特に.xlsmや.docmなどマクロ入りのファイル)はウイルス対策ソフトに引っかかりやすく、送信を試みた瞬間にアンチウイルスがプロセスをブロックしてしまいます。この場合、Outlookには「送信済み」と表示されるのに実際には送られていない、という現象が起きます。解決策はマクロなしのファイル(.xlsxや.docx形式)に別名保存してから送り直すか、OneDriveリンクで共有するかです。ZIPで圧縮してもウイルス対策ソフトはZIPの中身まで検査することが多いので、圧縮での回避は確実ではありません。
「添付ファイルが開けない」は実はOutlookのキャッシュが原因のことがある
これは意外と知られていませんが、Outlookはメールの添付ファイルをダブルクリックで開いたとき、一時フォルダにキャッシュコピーを作成してそちらを開くという仕組みになっています。この一時フォルダは
C:\Users\(ユーザー名)\AppData\Local\Microsoft\Windows\INetCache\Content.Outlook\(ランダムな文字列)\
の配下にあります。このフォルダが長期間使い続けると数百ファイルが溜まって動作が重くなったり、ファイルが開けなかったりする問題が発生します。
情シスに「添付ファイルが開けない」と問い合わせが来たとき、まず試すのがこのキャッシュの削除です。Outlookを一度閉じて、上記フォルダ内のファイルをすべて削除するだけで驚くほどあっさり解決することがあります。Microsoftもこの問題を認識しており、Outlookの設定の「信頼センター」からキャッシュフォルダのパスを変更することができます。定期的にこのフォルダを掃除する運用ルールを設けるだけで、「なぜか開けない」という謎のクレームが格段に減ります。
送信前に添付漏れを防ぐ「プロ設定」がある
「添付ファイルをつけ忘れたまま送ってしまった」という経験は誰しもあるはずです。実は、クラシックOutlook(旧Outlook)には添付漏れを自動検知して警告を出す機能がデフォルトで搭載されています。メール本文に「添付」「添付ファイル」「ファイルを送ります」などの言葉が含まれているのに実際に何も添付されていない状態で送信しようとすると、「添付ファイルを追加し忘れていませんか?」というダイアログが表示されます。
この機能は日本語の「添付」という単語にも反応しますが、「同封」「ファイルを貼付」など会社固有の表現には反応しないこともあります。新しいOutlookにも同様の機能はありますが、日本語の検知精度が環境によって差があります。添付ミスが多い方には、メール送信前に本文を見直す1秒のルーティンと、この自動検知機能の両輪で対策するのが現実的です。
Outlookを劇的に使いやすくする「知らないと損する」便利設定5選
長年サポートをしていると、ほとんどの方がデフォルト設定のまま使い続けていることに気づきます。ちょっとした設定変更で日々のストレスが激減するので、ぜひ試してみてください。
①「添付ファイルのプレビュー」を制限する設定でセキュリティを高める
Outlookのプレビューウィンドウは便利ですが、悪意のあるファイルが自動プレビューされるリスクもあります。「ファイル」→「オプション」→「セキュリティセンター」→「セキュリティセンターの設定」→「添付ファイルの処理」に進むと、「添付ファイルのプレビューをオフにする」というチェックボックスがあります。社内ルールで許可されている場合は、信頼できる発信元からのファイルのみプレビューするよう設定を調整しましょう。
②「送信済みアイテム」の保存先をフォルダごとに変える設定
通常、送信したメールはすべて「送信済みアイテム」フォルダにまとまります。しかし、クラシックOutlookではメールを返信した場合に、その返信を元のメールと同じフォルダに保存させる設定ができます。「ファイル」→「オプション」→「メール」→「返信と転送」セクションの「返信を元のメッセージと同じフォルダーに保存する」をチェックすると、元のメールが入っているフォルダに自動的に返信も格納されます。プロジェクトフォルダで整理している方には非常に便利な設定です。
③「遅延配信」機能で冷静なタイミングにメールを送る
これは絶対に覚えておいてほしい設定です。Outlookの「メッセージオプション」には「配信タイミング」という機能があり、指定した日時にメールを自動送信できます。メール作成画面の「オプション」タブ→「遅延配信」をクリックすると設定できます。使い道は、深夜に作業したメールを翌朝9時に送信させる、プロジェクトのリマインドを適切なタイミングに予約する、などさまざまです。ただし、遅延配信はOutlookが起動・接続している状態でないと送信されないという注意点があります(Exchange Serverを使っている場合はサーバー側で処理されるため、Outlookが起動していなくても送信されます)。
④「クイック操作」で添付ファイル送信の手順を3クリックに短縮する
「ホーム」タブの「クイック操作」は、複数の操作をワンクリックで実行できる機能です。たとえば「このフォルダのファイルをOneDriveにアップしてリンクをメールで送る」という一連の手順を登録しておくことはできませんが、「特定の宛先にメール転送する」「フォルダへ移動して既読にする」などの組み合わせは1クリックで実行できます。よく使う宛先やフォルダへの転送ルーティンをクイック操作に登録しておくだけで、毎日数秒単位のタイムロスが積み重なりを解消できます。
⑤Outlookの「フォーカスされた受信トレイ」を正しくコントロールする
Microsoft 365版Outlookには「フォーカスされた受信トレイ」という機能があり、重要なメールとそれ以外を自動的に分類します。ただし、AIの判断が必ずしも正しくなく、重要な添付ファイルが来たメールが「その他」タブに勝手に振り分けられて見落とすというケースが現場で何度も発生しています。この機能をオフにするには、「表示」タブ→「フォーカスされた受信トレイ」→「フォーカスされた受信トレイをオフにする」を選択します。特に添付ファイルのやり取りが多い業務では、オフにして手動でルールを設定するほうが確実です。
Excel VBAを使ったOutlookファイル添付・送信の自動化コード集
繰り返しの多い添付ファイル送信業務は、VBAを使えば劇的に効率化できます。ここでは、情シスや業務効率化担当者が実務で使えるVBAコードを、バージョン互換情報つきで紹介します。すべてのコードはExcel VBAから「Early Binding(参照設定による事前バインディング)」または「Late Binding(CreateObjectによる遅延バインディング)」のいずれかで動作確認しています。
事前バインディングの場合は、VBAエディタの「ツール」→「参照設定」で「Microsoft Outlook XX.0 Object Library」にチェックを入れる必要があります(XX.0の数字はOfficeのバージョンに対応しており、Office 2016/2019/Microsoft 365はすべて「16.0」です)。遅延バインディング(
CreateObject("Outlook.Application")
)を使う場合は参照設定が不要で、Outlookがインストールされていればバージョンを問わず動作します。
【VBAコード①】ローカルのWordやExcelファイルを添付して下書き保存するコード
まず最も基本的なコードから。このコードはExcelシートに記載した宛先・件名・本文・添付ファイルパスを読み込み、Outlookの下書きメールを自動作成します。誤送信防止のため、送信(.Send)ではなく下書き保存(.Save)で止める設計にしています。確認してから手動送信するフローを推奨します。
動作確認済み環境Microsoft 365(Office 16.0)、Office 2019、Office 2016で正常動作。Office 2013(バージョン15.0)でも参照設定を「Microsoft Outlook 15.0 Object Library」に変更すれば動作します。Office 2010以前は非推奨(Microsoft 365との連携機能が制限されます)。
Sub CreateMailWithAttachment()
' ===================================================
' 動作確認済みMicrosoft 365 / Office 2019 / Office 2016
' ※ 参照設定で「Microsoft Outlook 16.0 Object Library」を有効にすること
' ===================================================
Dim olApp As Outlook.Application
Dim olMail As Outlook.MailItem
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("メール設定") ' シート名は適宜変更
' Outlookが起動中か確認し、起動していなければ起動する
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If olApp Is Nothing Then
Set olApp = New Outlook.Application
End If
' メールアイテムを作成
Set olMail = olApp.CreateItem(olMailItem)
With olMail
.To = ws.Range("B2").Value ' 宛先メールアドレス
.CC = ws.Range("B3").Value ' CC(不要なら "")
.Subject = ws.Range("B4").Value ' 件名
.Body = ws.Range("B5").Value ' 本文
' 添付ファイルのパス(B6セルにフルパスを記載)
Dim attachPath As String
attachPath = ws.Range("B6").Value
If attachPath <> "" Then
' ファイルの存在確認
If Dir(attachPath) <> "" Then
.Attachments.Add attachPath
Else
MsgBox "添付ファイルが見つかりません: " & attachPath, vbExclamation
GoTo CleanUp
End If
End If
.Save ' 下書き保存(誤送信防止)
.Display ' 確認のためメール画面を表示
' 自動送信したい場合は上記2行を下記に変更
' .Send
End With
MsgBox "下書きメールを作成しました。確認後、送信してください。", vbInformation
CleanUp:
Set olMail = Nothing
Set olApp = Nothing
End Sub
【VBAコード②】フォルダ内のOfficeファイルを全部まとめて1通のメールに添付するコード
月次レポートを複数部署に送るときや、プロジェクトの資料一式をメールにまとめる作業は、手作業だと1ファイルずつドラッグする地味な手間がかかります。このコードは指定フォルダ内のすべてのファイルを自動的に1通のメールに添付します。拡張子フィルタ機能もつけているので、WordとExcelだけ添付、PDFだけ添付、といった絞り込みも可能です。
動作確認済み環境Microsoft 365(Office 16.0)、Office 2019で正常動作。Office 2016でも動作確認済み。Late Bindingを使用しているため参照設定は不要です。
Sub SendAllFilesInFolder()
' ===================================================
' 動作確認済みMicrosoft 365 / Office 2019 / Office 2016
' Late Binding使用のため参照設定不要
' ===================================================
Dim olApp As Object
Dim olMail As Object
Dim fso As Object
Dim folder As Object
Dim file As Object
Dim folderPath As String
Dim fileCount As Integer
' 設定エリア(ここを変更してください)
folderPath = "C:\Users\YourName\Documents\送付資料" ' 添付したいフォルダパス
Dim toAddress As String: toAddress = "example@example.com"
Dim subject As String: subject = "資料一式のご送付"
Dim body As String: body = "お世話になっております。" & vbCrLf & "資料一式をお送りします。"
Dim filterExt As String: filterExt = "" ' 拡張子フィルタ例: ".xlsx" 空白=全ファイル
' 設定エリアここまで
' フォルダの存在確認
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(folderPath) Then
MsgBox "フォルダが見つかりません: " & folderPath, vbExclamation
Exit Sub
End If
' Outlookを起動
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If olApp Is Nothing Then
Set olApp = CreateObject("Outlook.Application")
End If
Set olMail = olApp.CreateItem(0) ' 0 = olMailItem
With olMail
.To = toAddress
.Subject = subject
.Body = body
' フォルダ内のファイルをすべて添付
Set folder = fso.GetFolder(folderPath)
fileCount = 0
For Each file In folder.Files
If filterExt = "" Or LCase(Right(file.Name, Len(filterExt))) = LCase(filterExt) Then
.Attachments.Add file.Path
fileCount = fileCount + 1
End If
Next file
If fileCount = 0 Then
MsgBox "添付対象のファイルが見つかりませんでした。", vbExclamation
GoTo CleanUp
End If
.Display ' 確認のためメール画面を表示
End With
MsgBox fileCount & " 件のファイルを添付した下書きを作成しました。", vbInformation
CleanUp:
Set olMail = Nothing
Set olApp = Nothing
Set fso = Nothing
End Sub
【VBAコード③】Excelシートの内容をPDF変換してそのままOutlookで送信するコード
「Excelの集計表をPDFに変換して、毎月決まった宛先に送る」という定型業務を抱えている方は多いはずです。このコードはExcelの現在のシートをPDFに変換→一時保存→Outlookメールに添付→表示という流れをワンボタンで実行します。毎月の定例報告業務を3〜5分で完了させることができ、手作業で「名前を付けて保存」→「PDF」→「Outlookを開く」→「添付」という4ステップをすべて自動化します。
動作確認済み環境Microsoft 365(Office 16.0)、Office 2019、Office 2016で正常動作。PDF変換機能(
ExportAsFixedFormat
メソッド)はOffice 2007以降であれば使用可能ですが、Office 2010以前は動作の保証ができません。Late Bindingを使用。
Sub ExportSheetAsPDFAndSendMail()
' ===================================================
' 動作確認済みMicrosoft 365 / Office 2019 / Office 2016
' Office 2007以降でPDF変換機能が使用可能
' Late Binding使用のため参照設定不要
' ===================================================
Dim ws As Worksheet
Dim pdfPath As String
Dim olApp As Object
Dim olMail As Object
Set ws = ActiveSheet ' 現在のアクティブシートをPDF変換
' PDF保存先(Tempフォルダに一時保存)
pdfPath = Environ("TEMP") & "\" & ws.Name & "_" & Format(Now, "yyyymmdd_HHMMSS") & ".pdf"
' シートをPDFとして出力
On Error GoTo PDFError
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=pdfPath, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
On Error GoTo 0
' Outlookでメール作成
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
On Error GoTo 0
If olApp Is Nothing Then
Set olApp = CreateObject("Outlook.Application")
End If
Set olMail = olApp.CreateItem(0)
With olMail
.To = "report@example.com" ' 送信先(適宜変更)
.Subject = ws.Name & "レポート_" & Format(Now, "yyyy年MM月")
.Body = "お世話になっております。" & vbCrLf & _
Format(Now, "yyyy年MM月") & "分のレポートをお送りします。" & vbCrLf & _
"ご確認よろしくお願いいたします。"
.Attachments.Add pdfPath
.Display ' 確認後に手動送信
End With
MsgBox "PDF変換・メール作成が完了しました。内容確認後に送信してください。", vbInformation
Set olMail = Nothing
Set olApp = Nothing
Exit Sub
PDFError:
MsgBox "PDF変換中にエラーが発生しました。印刷設定を確認してください。", vbExclamation
End Sub
VBAを使う前に必ず知っておくべきセキュリティの話
VBAでOutlookを自動操作すると、初回実行時に「プログラムがあなたに代わってメールを送信しようとしています」という警告ダイアログが表示されることがあります。これはOutlookのセキュリティ機能による正常な動作です。この警告が毎回出て不便な場合、IT管理者であればグループポリシーで「プログラムによるアクセスを許可するアプリ」にExcelを登録することで非表示にできます。ただし、この設定を緩めることはセキュリティリスクになりうるため、組織のセキュリティポリシーに照らして慎重に判断してください。個人PCや小規模環境では、Outlookのセキュリティセンターで「プログラムによるアクセスに対してOutlookからの警告を受け取る」設定を「自動的に許可する」に変更することも可能ですが、同様にリスクを理解したうえで設定する必要があります。
「なぜか共有リンクが開けない」現場でよく体験する謎エラーの正体と解決法
OneDriveの共有リンクをメールで送ったのに、相手が「リンクをクリックしても何も開かない」「エラーが出る」と言ってくる―。これは情シスのサポートデスクで毎月必ず数件は来る問い合わせです。原因はほぼパターン化されています。
「アクセス許可がありません」エラーの本当の原因
「特定のユーザー」設定でリンクを作成した場合、相手のMicrosoftアカウントのメールアドレスと、実際にサインインしているアカウントが一致していないと開けません。たとえば、
tanaka@example.com
宛にリンクを送ったのに、相手は会社のPCでは
t.tanaka@example.com
というアカウントでサインインしている、というようなケースです。解決策は、共有設定を「リンクを知っているすべてのユーザー」に変更するか、相手が実際に使っているメールアドレスを確認して再度共有リンクを発行することです。
社外の相手がOneDriveリンクを開こうとしたら「Microsoftアカウントでサインインしてください」と出た
これは共有設定が「組織内のユーザーのみ」になっているために起きます。社外共有を許可するには、OneDriveの設定で「外部共有」を「特定のユーザー」または「既存のゲストと新しいゲスト」に変更する必要があります。ただし、この設定はMicrosoft 365の管理者が組織レベルで制御しているケースが多く、エンドユーザーが勝手に変えられない組織もあります。該当する場合はIT部門に連絡して共有設定のポリシーを確認するのが正解です。
共有リンクが期限切れになっていた
OneDrive for Businessでは、管理者が「共有リンクの有効期限」をポリシーとして設定できます。デフォルトが30日や60日に設定されている組織では、リンクを送った後に時間が経過すると相手がアクセスできなくなります。重要な資料のリンクを長期間使いたい場合は、リンク作成時に「有効期限なし」を選ぶか、ファイルそのものをメール添付で送るほうが確実です。また、ファイル自体を削除・移動してしまうとリンクが無効になるのは言うまでもありません。ファイルを共有したまま別フォルダに整理して、受信者からクレームが来るケースも実際によくあります。
新しいOutlookへの移行で実際に起きたトラブルと対処の体験談
2024年から2025年にかけて、多くの企業で「新しいOutlook」への移行が進みました。その現場では予想外のトラブルが次々と発生しています。ここでは実際に情シスとして体験した具体的な事例を共有します。
「メールの署名が消えた」問題
クラシックOutlookで設定していた署名が、新しいOutlookに切り替えた後に表示されなくなった、というケースが多発しました。原因は、クラシックOutlookと新しいOutlookの署名データが別々の場所に保存されているためです。クラシックの署名は
%APPDATA%\Microsoft\Signatures
に保存されていますが、新しいOutlookはMicrosoft 365のクラウド上に署名を保存する仕組みに変わっています。移行時には署名を手動で再設定する必要があります。一括移行をする場合はPower Automateを使って署名テンプレートをまとめて設定するなど、IT部門主導での対策が有効です。
「添付ファイルのデフォルト共有がリンクになった」問題
新しいOutlookでは、OneDriveに保存されているファイルを添付しようとすると、デフォルトで「リンクとして共有」に設定されます。これがわからないまま送ると、受信者は添付ファイルではなくリンクを受け取ることになります。社外の方にファイルを送った場合、OneDriveへのアクセス権限がなければリンクを開けずにトラブルになります。この問題を回避するには、ファイルを添付するときに表示される「∨」ボタンをクリックして「コピーを添付」を選ぶ必要があります。新Outlookに移行後は、この選択が必要になることをユーザーにレクチャーしておくのが情シスの仕事です。
SharePoint・OneDrive for Business管理者が知っておくべき共有設定の急所
会社でMicrosoft 365を管理している立場から、エンドユーザーが「なぜかできない」と言ってくる共有関連の設定ポイントをまとめます。
まず覚えておいてほしいのが外部共有の階層構造です。Microsoft 365のテナント管理センター(SharePoint管理センター)には「テナント全体の外部共有ポリシー」があり、それよりも厳しい設定をサイト単位でかけることはできても、テナントのポリシーを超える緩い設定をサイト単位でかけることはできません。つまり、テナント全体で「外部共有禁止」になっていれば、どのサイトやOneDriveでも社外共有は不可能です。ユーザーから「共有できない」と言われたときにまずここを確認するのが鉄則です。
次に、条件付きアクセスポリシーが共有の動作に影響することも重要です。Azure Active Directory(Microsoft Entra ID)の条件付きアクセスで「非準拠デバイスからはOneDriveにアクセス不可」という設定がある場合、管理対象外のPCや個人スマートフォンからは共有リンクを開けません。これが原因で「自分が作ったリンクが開けない」という問い合わせが来ることがあります。解決するには、アクセス元のデバイスをIntune(Microsoft Endpoint Manager)で管理対象に登録するか、一時的に条件付きアクセスの例外ポリシーを適用するかです。
「Outlookが重くて添付ファイルの操作がストレス」を解決する高速化設定
Outlookの動作が重い状態で大きなファイルを添付しようとすると、フリーズしたり動作が止まったりするケースがあります。情シスとしてサポートしてきた中で効果があったチューニング設定を紹介します。
まず試してほしいのが「Outlookデータファイル(.pst/.ost)の最適化」です。長期間使っているOutlookは内部のデータファイルが断片化して動作が重くなります。クラシックOutlookの場合、「ファイル」→「アカウント設定」→「データファイル」タブで対象ファイルを選択して「設定」→「今すぐ圧縮する」を実行すると、ファイルが整理されて動作が軽くなることがあります。
次に、アドインの無効化も効果的です。「ファイル」→「オプション」→「アドイン」で「COMアドイン」を確認し、使っていないアドイン(Adobe Acrobatの送信アドイン、ウイルス対策ソフトのアドインなど)を無効にすると起動速度と動作が改善することがあります。特にPDFへの変換や添付ファイルの操作に関わるアドインが多い場合は、不要なものを整理するだけで目に見えて軽くなります。
また、ハードウェアアクセラレーションの無効化で添付ファイルの表示がもたつく場合に改善することがあります。「ファイル」→「オプション」→「詳細設定」→「ディスプレイ」の「ハードウェアのグラフィックアクセラレータを使用しない」にチェックを入れてOutlookを再起動します。古いPCや仮想デスクトップ(VDI)環境では特に効果が出やすい設定です。
「間違ったファイルを送ってしまった!」緊急時のリコール操作と現実的な限界
誰しも一度は経験する「送ったメールを取り消したい」という場面。Outlookには「メッセージのリコール(送信取り消し)」機能があります。送信済みフォルダで対象のメールを開き、「メッセージ」タブ→「アクション」→「このメッセージを取り消す」から操作できます。ただし、この機能には重大な制約があります。
リコールが成功するのは、受信者がExchange Serverを使っているOutlookユーザーで、かつ相手がまだそのメールを開いていない場合のみです。GmailやYahooメールなどの外部メールアドレスに送った場合はリコールできません。また、相手がスマートフォンのメールアプリやOutlook Web Access(OWA)で開いてしまった場合も失敗します。さらに、リコールを試みると相手の受信トレイに「○○があなたのメッセージを取り消そうとしました」という通知メールが届くため、リコールしようとしたこと自体が相手にバレる仕組みになっています。
現実として、間違ったファイルを送ってしまった場合は、リコールに頼るよりも即座に電話か後続メールで「先ほどのメールは誤送信でした。開封しないようお願いします」と一報入れるほうが誠実で現実的です。特に機密情報を誤送信した場合は、リコール操作を試みながら同時に上長への報告とセキュリティインシデント対応手順に沿った行動を取ることが重要です。Outlookのリコール機能を「万能の取り消し手段」と思っている方が意外と多いので、この現実を理解しておくことが大切です。
ぶっちゃけこうした方がいい!
ここまでいろんな方法や設定を書いてきましたが、10年以上情シスをやってきて思うのは、「ローカルのOfficeファイルを添付して送る」という行為自体を、できるだけ早くやめるべきだということです。はっきり言います。
ファイルを添付して送るという方法は、送ったその瞬間に「ファイルが分裂」します。送信者の手元にあるファイルと、受信者の手元に届いたファイルは、その瞬間から別物です。受信者が編集したら? 送信者が更新したら? どちらが最新版かわからなくなって「あれ、前に送ったバージョンどこだっけ?」という沼にはまるのは、全員が毎日のように経験していることです。
個人的な結論を言うと、OneDriveかSharePointにファイルを置いて、共有リンクを送る方法に全部統一するのが、ぶっちゃけ一番楽で間違いがないです。最初は「クラウドに上げるひと手間」が面倒に感じるかもしれません。でも慣れると逆で、「添付ファイルのバージョン管理をしなくていい」「大きいファイルでもサイズを気にしなくていい」「修正したら自動的に最新版になる」という快適さのほうがはるかに大きいです。
特に社内のやり取りに限っては、もうほぼ100%OneDriveリンクでいい。社外の取引先でMicrosoftアカウントを持っていない相手や、セキュリティポリシー上クラウドリンクを受け取れない相手への送付だけ、例外的に直接添付かPDF添付にする、という使い分けが現実的です。
VBAの自動化も同じで、「毎月手作業で同じ操作をしている」という業務があるなら、この記事で紹介したコードをベースに30分かけて自動化してしまうほうが、長い目で見ると何時間も節約になります。「VBAは難しそう」と思っている方こそ、コードをコピペして動かすだけのところから始めて、少しずつカスタマイズする感覚を掴んでほしいです。難しい理論より「動いた!」という体験が先です。
そして新Outlookへの移行を迷っている方は、2026年5月のアップデートを待ってから乗り換えるのが正直なところ一番スムーズだと思います。ローカルファイルの添付問題が解消されるそのタイミングが、移行のベストタイミングです。会社全体での移行を担当している情シスの方は、そこに向けてユーザー教育と設定ドキュメントの準備を今から進めておく、これが現場視点での一番賢い動き方です。
このサイトをチップで応援
OutlookでのWord・Excel・PPTファイルローカル添付・直接共有に関する疑問解決
クラシックOutlookと新しいOutlookのどちらを使えばローカルファイルの添付が確実ですか?
2026年3月時点では、ローカルファイルの添付という点ではまだクラシックOutlook(旧Outlook)のほうが安定して動作するケースがあります。新しいOutlookではWordやExcelから直接送信したときにメールが下書きに残るバグが報告されています。ただし、Microsoftは2026年5月のアップデートでこの問題を解消する予定です。5月以降は新Outlookでも問題なくローカルファイルを添付できるようになる見込みです。移行タイミングとしては、このアップデート適用後が理想的です。
ファイルをOneDriveに上げずに、本当にローカルのまま大きなファイルを送ることはできますか?
Outlookのメール添付では実質的には難しいです。サイズ制限を超えた場合、メールサーバーが受け付けてくれないため、物理的にファイルを小さくするか(圧縮・解像度を下げるなど)、OneDriveなどのクラウド経由にするかのどちらかになります。どうしてもクラウドを使いたくない場合は、ファイル転送サービス(ギガファイル便やADRIVEなど)を利用してダウンロードURLを相手に伝える方法も選択肢のひとつです。
WordやExcelから「添付ファイルとして送信」を選んだら、受信者はそのファイルを編集できますか?
はい。添付ファイルとして送った場合、受信者はそのコピーを自由に編集できます。ただし、それはオリジナルとは別の独立したコピーです。受信者が編集した内容は送信者の元ファイルには反映されません。複数人で同じ内容を編集・更新したい場合は、OneDriveやSharePointのリンク共有を使って共同編集モードで作業するのが正しい方法です。
PDFとして送信するとファイルサイズは小さくなりますか?
Officeファイルをそのまま添付するよりもPDFのほうが小さくなることが多いですが、必ずしもサイズが減るとは限りません。画像や図が多いPowerPointをPDF変換すると、むしろPDFのほうが大きくなることもあります。サイズを小さくしたい場合は、Wordなら「名前を付けて保存」の際に「ファイルサイズを縮小(品質の低下)」オプションを使う、PowerPointなら「ファイル」→「情報」→「メディアの圧縮」でメディアファイルを圧縮する、などの工夫が有効です。
社外の取引先にOneDriveリンクを送ったとき、相手がMicrosoftアカウントを持っていなくても開けますか?
共有リンクを「リンクを知っているすべてのユーザー」の設定で作成した場合、Microsoftアカウントを持っていなくてもブラウザで閲覧・ダウンロードができます。一方、「特定のユーザー」指定でリンクを作成した場合は、指定したメールアドレスでのサインインが必要になります。社外の相手には基本的に「リンクを知っているすべてのユーザー」で送り、必要に応じてダウンロード禁止や閲覧のみ設定を加えるのがバランスの良いアプローチです。
今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
OutlookでWord・Excel・PowerPointのローカルファイルを直接共有する方法は、シンプルなドラッグ&ドロップ添付から、PDF変換送信、OneDriveリンク共有、SharePointの権限管理まで、用途に応じた複数の手段があります。
特に今の時点で押さえておくべきポイントは、2026年5月から新しいOutlookでローカルファイルの直接添付・共有がさらに使いやすくなるアップデートが予定されているという事実です。新Outlookへの移行を迷っていた方にとっては、絶好の切り替えタイミングになるでしょう。それまでの間は、クラシックOutlookで安定した添付操作を続けるか、OneDriveリンクを使った共有に切り替えるかを状況に合わせて判断してください。
日々の業務でOutlookを使うなら、小さなファイルは直接添付・大きなファイルはOneDriveリンク・機密資料はPDF変換かダウンロード禁止リンクというルールを頭に入れておくだけで、ほとんどのシーンに対応できます。ぜひ今日から試してみてください。






コメント