![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
AllowDesignChangesがVBAで制御できない理由は?
アクセスのフォームで、
Private Sub Form_Open(Cancel As Integer)
Me.AllowDesignChanges = False 'デザイン変更の許可をしない
End Sub
を実行すると、
実行時エラー"2448" このオブジェクトに値を代入することができません。
になります。
でもAllowDesignChangesのヘルプを見ると、
「"AllowDesignChanges/デザイン変更の許可" プロパティは、
フォームのプロパティ シートまたは Visual Basic を使って設定できます。」
と書いてあります。
という事は、VBAで操作できるって事ですよね?
それなのになぜエラーになるのでしょうか?
No.2ベストアンサー
- 回答日時:
AllowDesignChanges について知らなかったので見てみました。
Private Sub Form_Open(Cancel As Integer)
Me.AllowDesignChanges = False 'デザイン変更の許可をしない
End Sub
↑これは自分自身を変更しようとしているのでエラーになってるかと。
標準モジュール・他のフォーム・イミディエイトウィンドウからなら
変更が出来ます。
イミディエイトウィンドウからは
フォーム 仮に名前を FM とすると
これをフォームビューで開いておいてから
?forms!FM.AllowDesignChanges
でTrue/False の確認が出来ます。
変更するには
デザインビューで開いてから
Docmd.Openform "FM" , Acdesign
forms!FM.AllowDesignChanges = false
のようにすれば可
なお、False にしてもデザインの変更は出来てしまいます? (・・?
何が変更になったのか・・というと
フォームビューの時にプロパティシートが出て来なくなって
その意味で変更不可になるようです。(他にも有るかもしれません)
また、Access2010 では 非表示になって使用が出来なくなりました。
新たに加わったレイアウトビューでやってくれ・・ということの様です。
以下ヘルプより抜粋
Microsoft Office XP (2002) と比較した Microsoft Access 2010 オブジェクト モデルの変更点の要約を次に示します。
メモ
以下の表では、オブジェクト モデルのメンバーの状態が次のように表記されています。
非表示 メンバーは非推奨となっており、コードでの使用はお勧めできません。
削除 メンバーはオブジェクト モデルから削除されました。
変更 メンバーの構文が変更されています。
Form
プロパティ 状態
AllowDesignChanges 非表示
No.1
- 回答日時:
> という事は、VBAで操作できるって事ですよね?
> それなのになぜエラーになるのでしょうか?
フォームをデザインビューで開けば可能、ということです。
DoCmd.OpenForm "フォーム1", acDesign
With Forms("フォーム1")
.AllowDesignChanges = False
' その他の設定
' ・・・
End With
もちろん、現在フォームビューで開かれているフォームのコードで
フォームをデザインビューで開き直して
自分を変更することはは不可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) ダブルクリックでセルの色を変える 1 2022/12/24 15:52
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで、一つのフォーム画面...
-
VBAで画像を表示する方法
-
ユーザーフォームのラベルに時...
-
フォームのテキストボックスな...
-
ユーザーフォームを表示中にシ...
-
Excel VBAで別のブックからユ...
-
パソコンの画面に合わせてユー...
-
エスケープキーを押して、フォ...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
【VBAユーザーフォームで閉じる...
-
EXCEL ユーザーフォームのタイ...
-
エクセルVBAのフォームを最...
-
'ユーザーフォーム右上隅の[×...
-
エクセルVBAでサブフォーラムの...
-
エクセルvba で フォームの削除
-
ExcelVBAのユーザーフォームの...
-
VBAでユーザーフォームを再表示...
-
AllowDesignChanges制御できない
-
アクセスのUserFormにはInitial...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
Hideについて(.NET)
-
ACCESSのフォーム、開くんです...
-
MSGBOXのフォント大きさ変更
-
Excelにて、ユーザーフォームで...
-
【VBAユーザーフォームで閉じる...
-
ユーザーフォーム上に現在日時...
-
VBA(エクセル)のユーザー...
-
access2021 更新前に処理をしたい
-
Accessで、一つのフォーム画面...
-
コントロールの存在確認
-
Microsoft Formsの「個人情報や...
-
複数モニタ使用時のフォームの...
おすすめ情報