
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは。
お邪魔します。> マイクロソフトの前回の問題と関係するのでしょうか?
2014/12/9のOfficeセキュリティ更新プログラムによるActiveXコントロールの一連の不具合のことでしょうか?
http://support.microsoft.com/kb/2553154
だとすると、対策はお済みでしょうか?
http://support.microsoft.com/kb/3025036/ja
それでも尚「CommandButton21問題」
(従来のコントロール名の後ろに"2"が付いた名前に変更された為コントロールの付番が"21"から始まるように見える)
等、未だ解決していない問題が幾つか残っているようですが、、、。
今回の問題の原因については、2014/12/9のアップデートであると、
特定できるまでの情報がありませんので、ハッキリとした回答は出来ません。
現在お使いのWindowsやOfficeのバージョン?、それぞれ32or64ビット?、
2003で作成したブックを2007以降のバージョン[Excel 97-2003 ブック (*.xls)]形式で保存し直しているのかどうか?、
それとも[Excel 97-2003 テンプレート (*.xlt)]なのか?
コピー元のシートにはFrameコントロール上にコントロールを配置しているか?、
等によっても、違いが出てくるのではないでしょうか。
> サンプルとして用意した当番表のシートを実際の月当番表を作成するときに、シートのコピーをして作成します。シートはコピーされたのですが、そのシートに張り付けた印刷ボタン(クリックすると自動印刷)が今まで一緒にコピーされたのですが、コピーされません。
2014/12/9のアップデートが原因である場合、
「シートはコピー出来るのにコントロールだけコピーできない」
という現象は、私の方では確認出来ませんし、ちょっと考えにくいです。
「コントロールだけコピーできない」という
現象そのものは、以前からよく質問される課題ですので、まずは定番の手順で確認をしてみてください。
Excelのオプション設定を、気づかない内に、
(コントロールをコピーしないように)変更してしまっていた場合
(もし、そうでなければ、オプション設定や警告ダイアログに関する言及がある筈です)
というのが、質問された多くのケースで原因となっていたこと、です。
XL2003なら
[ツール]→[オプション]→[編集]
↓[□オブジェクトをセルとともに切り取り、コピー、並べ替える]
XL2010なら
[ファイル]タブ→[オプション]→[詳細設定]→[切り取り、コピー、貼り付け]
↓[□挿入したオブジェクトをセルと共に切り取り、コピー、並べ替えを行う(_O)]
の、チェックを外れていまっているのを、チェックし直す、
または、いずれのバージョンでも、VBAから、
Application.CopyObjectsWithCells = True
を実行する
等の手順で、シートのコピー時にコントロールもコピーされる状態に通常は戻せます。
"シートはコピーされたのですが、そのシートに張り付けた印刷ボタン...が...コピーされません。"
という説明からすると、以上の確認が先決です。
> コピーされていた古いファイルでしても同様です。
この記述の意味が私には汲み取れていません。ですので、もし見当違いでしたら、すみません。
が、状況に依っては、以上の手当てで解決する可能性もあるのかと。
次に、質問文の説明とは食い違うので、余談、ということになりますが、
「コントロールごとシートのコピーはされるがコントロールが機能しない」
というケースだった場合の話ですと、、、
MSForms.exd削除済みのWin7/Xl2010x64で、XL2003で作成した旧いブックをコピー元にして
Workbooks.Open Filename:=""コピー元ブック名.xls"
With Workbooks("コピー先ブック名.xlsm")
Workbooks("コピー元ブック名.xls").Worksheets("コピー元シート名").Copy After:=.Worksheets(.Worksheets.Count)
End With
というような記述を実行して確かめましたが、
(コピー元ブックでは[セキュリティ]の警告が表示されたままになるものの)
シートもActiveXコントロール(昔のツールバーコントロール)も見た目上は複製されました。
但し、コピー後の新しいシート上ではActiveXコントロールが機能しません。
これを機能させる為の応急処置としては、以下の手順。
[ファイル]タブ→[オプション]→[セキュリティセンター]→[セキュリティセンターの設定]
↓[ActiveXの設定]
↓[□先に確認メッセージを表示してから、初期化に危険が伴うコントロールには制限を強化し、初期化しても安全なコントロールには最低限の制限を適用して有効にする(_R)]
にチェックが入っているものを替えて
↓[□確認メッセージを表示せずに、すべてのコントロールを制限なしに有効にする(推奨しません。危険なコントトールが実行される可能性があります)(_E)]
をチェックしておいてから、シートをコピーするマクロを実行します。
これで、コピー直後からActiveXコントロールが機能するようになりますが、
説明にもある通り、セキュリティ上の不安は拭えない状態での、暫定的な対応ということになりますから、
セキュリティ環境の確認を含めて、よく検討した上で採否を見極めるようにしてください。
あくまでも暫定的な対策として、例えば急いで処理したい時の一時的な方法として紹介しているだけです。
MS側で今後対策の予定があるかどうか、この他により安全な方法があるかどうか、
私には、解りませんし、知り得る立場でもありません。
ただ元々がセキュリティ対策としての改編だったことを考えると、
ActiveXコントロールの新旧バージョン間の互換については、
新たなMSによる積極的な対策対応について(少なくとも至近では)
期待できないものだとは私は思っています。
〓抜本的な対策〓としては、
新しいバージョン側で新規に[名前を付けて保存](作成し直す)ことを、
どこかのタイミングで検討した方がよいのかも知れません。
その方が確実なのとすぐに結果が欲しかったので、無駄になるかも知れないとは思いつつ、
私の周辺では新バージョン導入直後に、
(場合によっては警告ダイアログ上で[コンテンツの有効化]ボタン等を経て)
〓[Excel 97-2003 ブック (*.xls)]を現行の[Excel マクロ有効ブック (*.xlsm)]に書換えて〓、
対策しました(ActiveXコントロールの互換の問題は以前からありましたから)。
なので、今回の問題を再現することも私の環境では簡単ではないので、
確度の高い話は出来ませんが、今の私としては、このような回答になります。
最後に、
「Frameコントロール上に配置したコントロールだけが消えてしまう」
ということでしたらば
(Frameコントロールは本来ボタンを配置する為のものではないので話が違うでしょうけれど)
私が今知っている限りでは、新しいバージョンのブックとして、
改めてコントロールを挿入し直す、という方法ぐらいしかないように思います。
尚もお困りでしたら、補足欄にでも書いてみて下さい。
No.1
- 回答日時:
12月の更新ファイルによる不具合の対処をしてあれば大丈夫だとおもいますが
対処済みでもそうなるのですか?
そうであれば、2010版などの新しいBookにVBAコードをコピーして使えるようにするだけで済むはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) Excelで質問です! 現在マクロを勉強中の初心者です。 以下のような表から、会社名が空白のもの以外 2 2022/06/14 12:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
-
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
マクロ実行ボタンがコピー出来ない
Excel(エクセル)
-
5
【Excel VBA】シートコピー時、マクロコードはコピーしたくない
Access(アクセス)
-
6
EXCEL VBA コントロールのコピー&ペースト
Excel(エクセル)
-
7
VBA シートをコピー後、ボタンにマクロ登録
Excel(エクセル)
-
8
マクロ実行後に別シートの残像が残り、オブジェクトが見えなくなる
Visual Basic(VBA)
-
9
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
マウントしたディスクにcpで、...
-
DataTableに入っているデータを...
-
ブラウザからコピペすると文字...
-
C++言語で、構造体のコピーは可...
-
ROBOCOPYをスペース付きのフォ...
-
Ctrl + Cなど複数の入力キー...
-
Activesheet.Pasteで困っています
-
arduino unoからデータを読み出...
-
Excelでコピーしたセル(テキス...
-
Eclipseのコード入力時の、行コ...
-
Listviewに表示された文字のコ...
-
一行おきに貼り付ける 可能でし...
-
Excel-VBA でSheet1という記述...
-
CStringArray[2]のコピー
-
VBA 最終行・最終列コピー範囲...
-
バッチで当日日付で作成される...
-
【UWSC】WEBページ内コピーした...
-
Debug版とRelease版で結果が変わる
-
jakarta poiを使用し、EXCELの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
C++言語で、構造体のコピーは可...
-
マウントしたディスクにcpで、...
-
Ctrl + Cなど複数の入力キー...
-
一行おきに貼り付ける 可能でし...
-
Activesheet.Pasteで困っています
-
文字列の切り出し
-
DataTableに入っているデータを...
-
arduino unoからデータを読み出...
-
バッチで当日日付で作成される...
-
Listviewに表示された文字のコ...
-
Eclipseのコード入力時の、行コ...
-
ROBOCOPYをスペース付きのフォ...
-
他プロジェクトのFormを自プロ...
-
シートに張り付けたボタンがシ...
-
jakarta poiを使用し、EXCELの...
-
【UWSC】WEBページ内コピーした...
-
Excelでコピーしたセル(テキス...
-
エクセルVBA 実行時エラー'...
-
Eclipseでコピーするとき行数な...
おすすめ情報