エクセル勉強中の者です。
急遽以下のマクロが必要となりましたので
教えて頂けませんでしょうか?
◆目的
マクロの使い方がわからない人に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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
access2021 強制終了してしまう
-
Accessのクエリで、replace関数...
-
Accessのスプレッドシートエク...
-
実行時エラー3131 FROM 句の構...
-
access2019の起動が遅い
-
Access 複数条件検索の設定が上...
-
Accessでフォームに自動入力し...
-
Access Error3061 パラメータが...
-
Access VBA を利用して、フォル...
-
Microsoft365にAccessってあり...
-
Accessレポートのチェックボッ...
-
access2021 メッセージボックス...
-
ACCESS VBA でのエラー解決の根...
-
accessでlaccdbファイルが削除...
-
テーブルとクエリの相関図は表...
-
アクセスで教えてください。 住...
-
【Access】Dcount関数の複数条...
-
access クエリ yes/no型のクエ...
-
Accessで作ったデータベースをw...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
access2021 強制終了してしまう
-
Accessのクエリで、replace関数...
-
accessでlaccdbファイルが削除...
-
【Access】Dcount関数の複数条...
-
Access Error3061 パラメータが...
-
Accessのスプレッドシートエク...
-
ACCESS VBA でのエラー解決の根...
-
Accessレポートのチェックボッ...
-
実行時エラー3131 FROM 句の構...
-
access2019の起動が遅い
-
Vba Userformを前面に出すについて
-
Microsoft365にAccessってあり...
-
教えてください! アクセスの書...
-
Access 複数条件検索の設定が上...
-
【至急・画像あり】建物or住所...
-
Access VBA [リモートサーバー...
-
access2021 レコードロックの使...
-
Access VBA を利用して、フォル...
-
Accessのリンクテーブルのパス...
おすすめ情報