Word2000で写真入の取説を作っています。
この取説の中の写真を、クリックするだけで 拡大⇔元のサイズ
のように動作させたいのですが、どのようにすれば良いでしょうか?
(写真を選択しドラッグして拡大するのでは操作が煩雑になりますし、
人に配布してからレイアウトが崩れる事も心配です。)
やはり、マクロとか Visual Basic でプログラムするしかないのでしょうか?当方には専門知識がありません。
虫のいい話ですが、追加のプラグインとかモジュールとか無いものでしょうか。
どなたかお詳しい方、ご教授願います。
No.2ベストアンサー
- 回答日時:
>ページの端に配置した写真などは拡大すると、はみ出して見えなくなってしまいます。
上の問題を解決するのには、(1)~(4)は過剰スペックのように思いますし、すぐに手段を提供できません。
拡大縮小する際に、上下左右のどこを基点とするかが指定できれば、かなり問題が解決するように思えましたので、まずはそのコードを紹介します(ついでにWghtをWdthに修正)。
No.1の回答の、手順4~6を以下と差し替えて下さい。
+=+=+=+
4. 挿入された「イメージコントロール」の「プロパティーシート」が表示されるので、
4-1. 「オブジェクト名」を適切なものに変更する
4-2. 「AutoSize」をTrueにする
4-3. 「PictureSizeModeを」3にする
4-4. 「Picture」の参照ボタンを押して、表示したいイメージを指定する
4-5.「イメージコントロール」のサイズを調整し(この時、一度「イメージコントロール」以外をクリックしてからもう一度選択しないとサイズが更新されないようなので注意)、「Top」、「Left」、「Height」および「Width」をメモする
5. [コントロールツールボックス]ツールバーの[コードの表示]をクリックすると、Microsoft Visual Basicが起動し、
Private Sub {オブジェクト名}_Click()
End Sub
と記入されたウインドウが表示されるので、上記2行の間に、以下コードを挿入する
ただしその際、
5-1. Image1を4-1で設定したオブジェクト名に変更する
5-2. Const H1 As Double = 109.5 の109.5を、4-5でメモしたHeightの値に変更する
5-3. Const W1 As Double = 91.5 の91.5を、4-5でメモしたWidthの値に変更する
5-4. Const MGN1 As Single = 1.5 の1.5を、希望するクリック後のイメージの倍率に変更する
5-5. Const T1 As Double = 0 の0を、4-5でメモしたTopの値に変更する
5-6. Const L1 As Double = 17.25 の17.25を、4-5でメモしたLeftの値に変更する
5-7. ImageScale Image1, T1, L1, H1, W1, MGN1, "BR" の”BR”を、拡大縮小時に上下左右のどの角を固定したいかに合わせて変更する(1文字目が上(T)下(B)、2文字目が左(L)右(R)
また、Private Sub {オブジェクト名}_Click() の{オブジェクト名}の部分も、5-1同様に変更する
++++挿入するコードここから++++
Const H1 As Double = 109.5 '初期Height
Const W1 As Double = 91.5 '初期Width
Const MGN1 As Single = 1.5 'クリック後倍率
Const T1 As Double = 0 '初期Top
Const L1 As Double = 17.25 '初期Left
ImageScale Image1, T1, L1, H1, W1, MGN1, "BR"
++++挿入するコードここまで++++
6. 5.と同じウィンドウの、End Subより後ろに、以下コードを貼り付ける
++++貼り付けるコードここから++++
Sub ImageScale(TrgtObj, TrgtTp, TrgtLft, TrgtHght, TrgtWdth, TrgtMGN, PinPos)
Application.ScreenUpdating = False
With TrgtObj
If .Height = TrgtHght Then
.Height = TrgtHght * TrgtMGN
.Width = TrgtWdth * TrgtMGN
If Left(PinPos, 1) = "B" Then
.Top = .Top - TrgtHght * (TrgtMGN - 1)
End If
If Right(PinPos, 1) = "R" Then
.Left = .Left - TrgtWdth * (TrgtMGN - 1)
End If
Else
.Height = TrgtHght
.Width = TrgtWdth
.Top = TrgtTp
.Left = TrgtLft
End If
End With
Application.ScreenUpdating = True
End Sub
++++貼り付けるコードここまで++++
+=+=+=+
拡大する時はけちけちしないで横幅一杯とか、中央を固定するとかでも、比較的簡単にできそうですが、とりあえず入れてません。
どうしてもこれでは不足という事であれば、その旨連絡ください。
この回答への補足
Raistlinさん お早く回答頂きましたのに、返事が遅れ申し訳ありません。
教えて頂いた通り、やってみました。 ところが また幾つか課題(←自分で出来ないくせに こんな表現で申し訳ありません )が出てきましたので報告させて頂きます。
(1)拡大⇔元のサイズ の動作はうまくいきましたが、一旦保存してから改めてファイルを開くと動かなくなる。イメージのプロパティやコードはちゃんと書けています。
(2)拡大した時にはみ出して見えなくなってしまう件は ご指南の方法(上下左右の何れかを基点とする)でほぼ解消できましたが、レイアウトによってはどうしてもはみ出してしまうものがあります。そこで ページのセンターと拡大図のセンターを合わせるように表示する事もバリエーショに加えたいのですが、どうでしょうか?
(3)製作中の取説は70枚程度の写真を貼り付けた ファイルサイズ 3MB弱のものです。写真の貼り付けは 挿入→図→ファイルから という方法をとっています。(写真の貼り付け方に関しては、このコミュニティーでも過去に何度か質問されていて、この方法がファイルサイズを一番小さく抑えられたと記憶しています。)
ところが、ご指南の方法ですと 写真1枚ごとに1MB程 ファイルサイズが大きくなってしまいます。このあたりは どうにもならないものでしょうか?
以上、面倒な事ばかりで申し訳ありませんが、お力添え頂きたく、宜しくお願い致します。
No.3
- 回答日時:
補足に気がつかずすみません。
(3)の件については、うすうす気が付いていたので、ちゃんと書けばよかったと後悔しています。
推測なのですが、イメージコントロールにイメージを格納してしまうと、ファイルサイズが大きくなってしまうようです。
従って、根本からやり方を変える必要があると思います。
文中には写真(ファイル)へのリンクを配置し、クリックすればそのファイルが表示されるように設定した後、イメージファイルとセットでフォルダごと配布するように変更してはどうでしょう。
(1)については現物でも無いと分かりません。
(2)については、ファイルサイズの問題がありますので、代替手段が無い時にもう一度考える事にしませんか?
Raistlinさん お礼が遅くなり申し訳ありません。
やはり ”リンク設定した写真とのセット配布”がベストのようですね。
”写真をクリックするだけで、拡大⇔元のサイズ ”は自分への今後の課題としたいと思います。
丁寧に教えて頂き有難うございました。
No.1
- 回答日時:
便利なプラグインとかは紹介されないようなので、VBAで対応する方法を紹介します。
例えプラグインのようなものが有ったとしても、以下手順より飛躍的に簡単なものにはならないと思いますので、敬遠せずにチャレンジください。
※注意※
以下手順中のコードは、インデント保持の為、行頭の半角スペースを全角スペースに置き換えていますので、利用前に置換してください
1. [表示]-[ツールバー]-[コントロールツールボックス]を選択
2. 表示されたツールバー([コントロールツールボックス])の、[イメージ]をクリック
3. 挿入された「イメージコントロール」が選択された状態で、[コントロールツールボックス]ツールバーの[プロパティ]をクリック
4. 挿入された「イメージコントロール」の「プロパティーシート」が表示されるので、
4-1. 「オブジェクト名」を適切なものに変更する
4-2. 「AutoSize」をTrueにする
4-3. 「PictureSizeModeを」3にする
4-4. 「Picture」の参照ボタンを押して、表示したいイメージを指定する
4-5.「イメージコントロール」のサイズを調整し(この時、一度「イメージコントロール」以外をクリックしてからもう一度選択しないとサイズが更新されないようなので注意)、「Height」と「Width」をメモする
5. [コントロールツールボックス]ツールバーの[コードの表示]をクリックすると、Microsoft Visual Basicが起動し、
Private Sub {オブジェクト名}_Click()
End Sub
と記入されたウインドウが表示されるので、上記2行の間に、以下コードを挿入する
ただしその際、
5-1. Image1を4-1で設定したオブジェクト名に変更する
5-2. Const H1 As Double = 109.5 の109.5を、4-5でメモしたHeightの値に変更する
5-3. Const W1 As Double = 91.5 の91.5を、4-5でメモしたWidthの値に変更する
5-4. Const MGN1 As Single = 1.5 の1.5を、希望するクリック後のイメージの倍率に変更する
また、Private Sub {オブジェクト名}_Click() の{オブジェクト名}の部分も、5-1同様に変更する
++++挿入するコードここから++++
Const H1 As Double = 109.5 '初期Height
Const W1 As Double = 91.5 '初期Width
Const MGN1 As Single = 1.5 'クリック後倍率
ImageScale Image1, H1, W1, MGN1
++++挿入するコードここまで++++
6. 5.と同じウィンドウの、End Subより後ろに、以下コードを貼り付ける
++++貼り付けるコードここから++++
Sub ImageScale(TrgtObj, TrgtHght, TrgtWght, TrgtMGN)
Application.ScreenUpdating = False
With TrgtObj
If .Height = TrgtHght Then
.Height = TrgtHght * TrgtMGN
.Width = TrgtWght * TrgtMGN
Else
.Height = TrgtHght
.Width = TrgtWght
End If
End With
Application.ScreenUpdating = True
End Sub
++++貼り付けるコードここまで++++
7. Wordの画面に戻り、[ツールバーのデザインモード(の終了)]をクリック
複数のイメージを拡大縮小させたい場合は、2-5を繰り返してください。
Raistlinさん 回答頂き有難うございます。
なかなかレスが付かず、半ば諦めかけていたところでした。
早速やってみました。丁寧に教えて頂いたので、見事写真が[拡大⇔元のサイズ]と動作致します。感激です!
ただ、ページの端に配置した写真などは拡大すると、はみ出して見えなくなってしまいます。
そこでお願いです。次のように動作させるコードをご教授頂けませんか。
(1)拡大できる写真にカーソルを合わせると、カーソルの形が変わる。
(2)拡大した画像は、別ウインドウで画面内に出現。
(3)さらにドラッグして、位置や倍率を変えられる。
(4)もう一度クリックで消去。
厚かましいのですが、もう暫く面倒見て頂きたく、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPhone(アイフォーン) 写真の一部を拡大したく、写真の右上の編集を使い拡大出来ました。改めて、写真を見ましたら編集前の元の写 5 2022/09/29 09:35
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- Word(ワード) Word文書のドラッグ操作による配置調整。 1 2022/10/16 19:24
- Word(ワード) 写真3枚をA4に貼り付けたい 5 2023/07/03 14:36
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- 写真・ビデオ 明日が期限!職務経歴書(EXCEL)に写真添付可能なアプリ。 証明写真でアプリを探しても紙に貼るタイ 2 2022/06/29 17:57
- Photoshop(フォトショップ) 写真のサイズ変更 1 2022/08/07 16:00
- Windows 10 win10のゲームバー 使用方法 1 2022/05/22 13:31
- その他(プログラミング・Web制作) Scratchについてです 作ったプログラムをコンピュータに保存してそのまま何もいじらずにそのプログ 1 2022/05/19 18:51
- Photoshop(フォトショップ) 写真に日付を入れるのがそんなに大変か 9 2023/07/22 14:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
ある範囲のセルから任意の値を...
-
精液の落とし方を教えてください
-
勃起する時って痛いんですか? ...
-
精子が黄色?
-
2つの数値のうち、数値が小さい...
-
値が入っているときだけ計算結...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
アクエリアスが苦く感じる
-
Excelで""で囲む方法
-
Excel 0目標に対して数字があ...
-
甲状腺が腫れているが血液検査...
-
これって喉仏ですか? 私は女性...
-
電動のネッククーラーは空港の...
-
エクセルのラベルの値(文字列...
-
リンク先のファイルを開かなく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
精子が黄色?
-
EXCELで条件付き書式で空白セル...
-
至急!尿検査前日にオナニーし...
-
これって喉仏ですか? 私は女性...
-
中出しをするとお腹が痛い・・・。
-
甲状腺が腫れているが血液検査...
-
2つの数値のうち、数値が小さい...
-
尿検査前日に自慰行為した時の...
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
ある範囲のセルから任意の値を...
-
口の中に黒い血の塊
-
【Excelで「正弦波」のグラフを...
-
エクセル指定した範囲からラン...
おすすめ情報