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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
VBA シートをコピー後、ボタンにマクロ登録
Excel(エクセル)
-
5
EXCEL VBA コントロールのコピー&ペースト
Excel(エクセル)
-
6
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
7
エクセルで表示形式の時刻の「0:00」を表示しないようにするには?
Excel(エクセル)
-
8
【Excel VBA】シートコピー時、マクロコードはコピーしたくない
Access(アクセス)
-
9
excelコマンドボタンと内容を別ファイルにコピー
Excel(エクセル)
-
10
マクロ実行ボタンがコピー出来ない
Excel(エクセル)
-
11
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
12
マクロの保存先、開いてるすべてのブックの意味 エクセルを開き、表示→マクロ→マクロの表示と順番に開く
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Listviewに表示された文字のコ...
-
マウントしたディスクにcpで、...
-
Access VBAから使用したExcelプ...
-
Ctrl + Cなど複数の入力キー...
-
一行おきに貼り付ける 可能でし...
-
Activesheet.Pasteで困っています
-
シートに張り付けたボタンがシ...
-
バッチで当日日付で作成される...
-
DataTableに入っているデータを...
-
Win32Apiで書式付リッチエディ...
-
C++言語で、構造体のコピーは可...
-
エクセル VBA シートのコピー...
-
VBA 最終行・最終列コピー範囲...
-
Eclipseのコード入力時の、行コ...
-
エクセルVBA 実行時エラー'...
-
.BATでクリップボードに複数の...
-
CSVファイルの特定行の削除
-
svnでファイル移動すると履歴が...
-
彼女の過去の恋愛に嫉妬してし...
-
デスクトップ画面に「◯◯まであ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
C++言語で、構造体のコピーは可...
-
一行おきに貼り付ける 可能でし...
-
Activesheet.Pasteで困っています
-
DataTableに入っているデータを...
-
Ctrl + Cなど複数の入力キー...
-
マウントしたディスクにcpで、...
-
Listviewに表示された文字のコ...
-
Eclipseのコード入力時の、行コ...
-
エクセルVBA 実行時エラー'...
-
arduino unoからデータを読み出...
-
文字列の切り出し
-
ROBOCOPYをスペース付きのフォ...
-
シートに張り付けたボタンがシ...
-
ブラウザからコピペすると文字...
-
【UWSC】WEBページ内コピーした...
-
バッチで当日日付で作成される...
-
他プロジェクトのFormを自プロ...
-
jakarta poiを使用し、EXCELの...
-
.BATでクリップボードに複数の...
おすすめ情報