エクセル勉強中の者です。
急遽以下のマクロが必要となりましたので
教えて頂けませんでしょうか?
◆目的
マクロの使い方がわからない人にEXELファイルをメールするので
自動的に任意のマクロを起動させたい。
※ちなみにその相手はエクセルの設定すらいじれない方です・・・
◆自動実行させたいマクロ
こちらのEXELファイルをメールで受け取り、開いたら以下のマクロを
自動的に実行するようにしたい。
・印刷の余白が全て"0"にマクロで設定。
・印刷倍率を95%にマクロで設定。
以上です。
私自身、先日マクロの勉強を始めたばかりなので、この問題に
頭を抱えております。どうかご指導お願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>・・・End Subが必要です
余分な Sub や Function が書かれた行があると思いますが・・・
>ファイルを開いた瞬間に自動実行させる場合に追加する文法(式?)・・・
(1)まず、ツール→マクロ→Visual Basic Editor で VBE画面に移動します。
(2)VBE画面で、表示→プロジェクトエクスプローラ でプロジェクトエクスプローラを表示します。
(3)プロジェクトエクスプローラの『ThisWorkbook』をダブルクリックしてコードウインドウを出します。
(4)コードウインドウの上に(General)、(Declarations)と表示された窓があると思います。
(General)の方の三角をクリックして『Workbook』をクリックします。
(5)コードウインドウに次のコードが自動的に書かれます。
Private Sub Workbook_Open()
End Sub
(6)この2行の間にBookをOpenした時に行いたいことを書きます。
(7)このWorkbook_OpenがBookを開いた時に実行されます。(他にも方法はありますが)
2行の間に、With~End With を貼り付けてみて下さい。
No.1
- 回答日時:
どのシートをセットアップしたいか分かりませんので、Sheet1の例と全てのシートをセットアップする例です。
どちらかをThisWorkbook に貼り付けます。ただ、シートのセットアップは保存した時、記憶されていますので、事前に設定しておけば開いた時に再度設定しなおすことはないような気がしますが・・・
また、ブックを開いた時に警告が出たり、相手のセキュリティレベルも考慮する必要があると思います。 ご参考に。(Excel2000です)
'Sheet1をセットアップの例
Private Sub Workbook_Open()
With Worksheets("Sheet1").PageSetup
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.Zoom = 95
End With
End Sub
'全てのシートをセットアップの例
Private Sub Workbook_Open()
Dim ws As Worksheet 'シート
For Each ws In Worksheets
With ws.PageSetup
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.Zoom = 95 '拡大/縮小
End With
Next
End Sub
この回答への補足
ご丁寧な回答ありがとうございます。
そのまま利用したのですが、
「コンパイルエラー:End Subが必要です」
とのミニ警告Windowが開き実行されません。
もちろんnishi6さんの作成文にあるEnd Subの部分も
きっちり貼り付けました。
バージョンはEXEL2000です。
ちなみに他のマクロを作った場合等で、
ファイルを開いただけでマクロを実行させるには、
どういった記述を追加すれば良いのでしょうか?
私はマクロ初心者なのでExelマクロの機能である
「新しいマクロを記録する」で記憶させてからVisualBasicで手直し・・
という形でしかマクロを扱えません。
お手数ですが、ファイルを開いた瞬間に自動実行させる場合に追加する
文法(式?)を教えて頂けないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) セキュリテイリスク このファイルのソースが信頼出来ないため********* 1 2023/03/02 10:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
ACCESS VBA でのエラー解決の根...
-
アクセスクエリの計算
-
Microsoft365にAccessってあり...
-
実行時エラー3131 FROM 句の構...
-
Access VBA を利用して、フォル...
-
Accessのクエリで、replace関数...
-
Access DTPickerの初期表示月を...
-
Accessのスプレッドシートエク...
-
エクセルのデータをアクセスに...
-
Accessのフォーム上のテキスト...
-
AccessのDBを理解するコツは?
-
Access IF文でテーブルに存在し...
-
【Access】Dcount関数の複数条...
-
accessの代わりになるもの
-
accessでlaccdbファイルが削除...
-
Accessのデータ型の日付/時刻型...
-
Accessで独自メニューバーまた...
-
Access DAOのExecuteメソッドの...
-
DoCmd.SearchForRecord が動か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Access Error3061 パラメータが...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
Accessのリンクテーブルのパス...
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
accessデータを指定したExcel、...
-
Accessのスプレッドシートエク...
-
CSVファイルの「0落ち」にVBA
-
【Access】Dcount関数の複数条...
-
Accessのフォーム上のテキスト...
-
Access VBA を利用して、フォル...
-
実行時エラー3131 FROM 句の構...
-
Vba Userformを前面に出すについて
-
Accessでフォームに自動入力し...
-
Accessレポートのチェックボッ...
-
Accessのテキストボックスの入...
-
Access 複数条件検索の設定が上...
-
accessのフォームに設置したボ...
おすすめ情報