Excel2000でロックしていないセルに画像を貼り付けようと思います。
パスワードでシート保護しています。
VBAで次のように処理したら画像は貼り付けられました。
しかしパスワード入力を求められ、入力すると画像の挿入後シートは保護されたのですが、パスワードは解除になっています。
パスワード解除にならずに画像挿入できる方法をご教示ください。
さらに挿入後のサイズ変更のVBAも併せて教えて頂ければ助かります。
当方VBAについては全くの初心者です。
Sub 画像挿入()
With ActiveSheet
'シート保護解除
.Unprotect
'画像挿入ダイアログ表示-->画像を挿入
Application.Dialogs(xlDialogInsertPicture).Show
'画像が挿入されたら、保護のロック対象外に設定
If TypeName(Selection) = "Picture" Then
Selection.Locked = False
End If
'シート保護
.Protect DrawingObjects:=False, Contents:=True
End With
End Sub
No.1ベストアンサー
- 回答日時:
「1234」のパスワードの場合、
以下のようにしてみてください。
Sub 画像挿入()
With ActiveSheet
'シート保護解除
.Protect Password:="1234", DrawingObjects:=False, Contents:=True, UserInterfaceOnly:=True
'画像挿入ダイアログ表示-->画像を挿入
Application.Dialogs(xlDialogInsertPicture).Show
'画像が挿入されたら、保護のロック対象外に設定
If TypeName(Selection) = "Picture" Then
Selection.Locked = False
End If
'シート保護
End With
End Sub
パスワードが解除にならずに画像が挿入できました。
ありがとうございます。
挿入後の画像サイズの変更はどうすれば良いのですか?
VBAとは便利なものですね。
早速勉強を始めたいと思います。
No.3
- 回答日時:
パスワードで保護されたシートの保護を解除する方法
Sheets("シート名").Unprotect ("パスワード")
パスワードでシートを保護する方法
Sheets("シート名").Protect ("パスワード")
画像のサイズを変更する方法の参考として、
複数の写真が貼付されたシートにおいて、写真データのサイズを軽減するためのマクロを記述します。
Sheets(1).Select
A = Sheets(1).Pictures.Count
If A > 0 Then
B = 0
For Each ZZZ In Sheets(1).Shapes
B = B + 1
If InStr(ZZZ.Name, "Picture") > 0 Then
CC = ZZZ.TopLeftCell.Address
CC = Right(CC, Len(CC) - 1)
DD = Left(CC, InStr(CC, "$") - 1)
EE = Right(CC, Len(CC) - InStr(CC, "$"))
F = Asc(DD) - 64
G = Val(EE)
ZT = ZZZ.Top
ZL = ZZZ.Left
ZH = ZZZ.Height
ZW = ZZZ.Width
ZZZ.Cut
Cells(G, F).Select
ActiveSheet.PasteSpecial Format:="図 (JPEG)" 'ActiveSheetが画像です。
Selection.ShapeRange.Top = ZT
Selection.ShapeRange.Left = ZL
Selection.ShapeRange.Height = ZH
Selection.ShapeRange.Width = ZW
Selection.ShapeRange.ZOrder msoSendToBack
End If
If B = A Then
Exit For
End If
Next
End If
No.2
- 回答日時:
>ロックしていないセルに画像を貼り付けようと
エクセルの場合、画像はセルに中身的に張り付くのではないと思う。
根本的に誤解が有ると思うが。シートは台紙で、画像はその上に浮いている感じ。レイヤーが違うと言うのかな。
住む家のたとえで言えば、画を飾らせていただくため、有る家の軒を使わせていただくが、その場所は(セル番地).Topなどで指定しますが、家の住人になったわけではないと思います。その軒先を借りることが、有る家を使用禁止・許容の中に含まれているか疑わしい。多分含まれてない。
図のファイルからの挿入は、まずアクチブセルが左上に来る形で挿入される。その選択アクチブセルが、画像貼り付け許可範囲かどうかを左右するかどうかも、はっきりわからない。実験してみてください。誰か反論してくれると、私も勉強になるが、色々な事項から
今のところ、そう結論付けている。普通の解説書にはこういう細かいところは書いてないようだ。
====
>挿入後のサイズ変更のVBAも併せて教えて頂ければ助かります。
こんなのはマクロの記録をとってコードとにらめっこして考えればわかるでしょう。マクロの記録を活用した後に質問のこと。
ありがとうございます。
おっしゃっている事がなんとなく解ったような解らないような。
図の挿入はアクチブセルの左上に挿入されました。
シート保護はしてありますが、ロックの掛かっているセルにも移動出来ますしサイズの変更も出来ました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセル VBAについて 2 2022/09/21 22:21
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Excel(エクセル) Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護 2 2023/02/23 15:14
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) VBAについて教えてください 4 2022/11/10 12:44
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) Excel シートに画像が貼ってあり、クリックすると入力シートにジャンプする機能 1 2023/01/14 22:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで枠飾り
-
エクセルのフッダーに四角で囲...
-
エクセルで写真の挿入 セルの中...
-
EXCELのフッターにオートシェイ...
-
エクセルVBAで縦向きの画像の挿...
-
フッターを「最前面」に
-
EXCELにjpg画像を挿入...
-
ヘッダーとフッダーの縦書き方法
-
PowerDirector 11で空白時間の挿入
-
エクセルのフッター(右)に入...
-
保存や挿入などフォルダを開く...
-
エクセルで作成した文に柄・模...
-
写真9枚をA4紙に配置したい。
-
Wordに画像挿入。複数を一気に...
-
WORDヘッダーに原サイズの画像...
-
Wordに貼り付ける図の初期設定変更
-
エクセルのハイパーリンクで質...
-
VBAで特定のセルに画像があれば...
-
エクセル写真帳に画像の挿入が...
-
Accessで請求書に印鑑を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで枠飾り
-
エクセルで写真の挿入 セルの中...
-
エクセルのフッター(右)に入...
-
エクセルのフッダーに四角で囲...
-
PowerDirector 11で空白時間の挿入
-
写真9枚をA4紙に配置したい。
-
ヘッダーとフッダーの縦書き方法
-
エクセルVBAで縦向きの画像の挿...
-
フッターを「最前面」に
-
EXCELのフッターにオートシェイ...
-
エクセルで作成した文に柄・模...
-
EXCELにjpg画像を挿入...
-
OO.oのDrawで挿入絵の背景を透...
-
Accessで請求書に印鑑を...
-
Wordに貼り付ける図の初期設定変更
-
Excelに複数の写真を挿入する場合…
-
VBAで特定のセルに画像があれば...
-
Word~図の挿入のレイアウトを...
-
ワードで図のサイズを固定して...
-
大学のレポートを書くためにWor...
おすすめ情報