MENU  □ MANUAL  □ 新着記事  □ 新規トピック追加  □ トピック一覧  □ SEARCH  □ 過去ログ
ログ内検索
・ キーワードを複数指定する場合は 半角スペース で区切ってください。
・ 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
・ 過去ログから探す場合は過去ログをチェック。
・ 過去ログは番号が大きいほど新しいログです。

キーワード/
検索条件/ (AND) (OR)
検索範囲(現在のログ)
(過去ログ1) (過去ログ2) (過去ログ3) (過去ログ4) (過去ログ5)
(過去ログ6) (過去ログ7) (過去ログ8) (過去ログ9) (過去ログ10)
(過去ログ11) (過去ログ12) (過去ログ13) (過去ログ14) (過去ログ15)
(過去ログ16) (過去ログ17) (過去ログ18) (過去ログ19) (過去ログ20)
(過去ログ21) (過去ログ22) (過去ログ23) (過去ログ24) (過去ログ25)
(過去ログ26) (過去ログ27) (過去ログ28) (過去ログ29) (過去ログ30)
(過去ログ31) (過去ログ32) (過去ログ33) (過去ログ34) (過去ログ35)

過去ログ21 を検索

HIT数 / 9件
NO.135406  エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ ニイムラ
■投稿日/ 2010/04/07(11:11)
□URL/

初めまして、質問させてください。

表題のとおりエクセル2007のSheets.Copyメソッドの動きがおかしいのです。

Excel2007の不具合と思われる現象があります。

OS WindowsXP sp2
Excel2007

新規ブックにコマンドボタンを一つ設け、以下のようなサンプルコードを実行するとVisible=falseにしたはずのBookが「Copyコマンド」
発行直後に表示されてしまう。

Private Sub cmdCopy_Click()

Excel.Application.Visible = False

Call Sheets.Copy(Before:=Sheets(1))
MsgBox "コピー完了"

Excel.Application.Visible = True

End Sub

※2007以外のバージョンであれば「コピー完了」迄はBookは隠れたままである。

回避策有りますでしょうか?

同様の処理をAccessからExcelを遠隔操作で処理するとBookが表示された瞬間に、
何らかのきっかけでフォーカスが与えられると処理が止まってしまい、困っています。


この記事にはVBAのコードが含まれています。

緑の太文字→注釈
茶色の太文字→条件分岐
赤の太文字→ループ
青の太文字→その他



++++++++++++++++++++
OS      ⇒Windows XP
Version⇒Excel 2007
++++++++++++++++++++
親記事
削除チェック/

NO.135407  Re[1]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ 藤代千尋
■投稿日/ 2010/04/07(11:59)
□URL/

そのコードで、私の方では表示されませんでした。

何かが悪さしている可能性があります。
・他のマクロ
・アドイン
・セキュリティソフト
記事NO.135406 のレス /
削除チェック/

NO.135408  Re[2]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ ニイムラ
■投稿日/ 2010/04/07(12:27)
□URL/

素早いご回答戴き、ありがとうございました。

>そのコードで、私の方では表示されませんでした。
そうなんですか!?
ちょっと驚きです。

新規に購入したDellのパソコン7台は全て再現可能なので、てっきりExcel2007の不具合だとばかり思った物です。

少なくとも
新規ブックで作成しても現象が出るので「他のマクロ」はなさそうです。
新規インストールなので、アドインも無さそうなので
残るはウイルスバスターかな?

そういった当たりも調べてみます。
ありがとうございました。

記事NO.135406 のレス / END
削除チェック/

NO.135411  Re[3]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ 藤代千尋
■投稿日/ 2010/04/07(13:18)
□URL/

それは Excel っぽい気がしますね。(^^;)

アドイン無効にするには、Ctrl キーを押しながら Excel を起動します。

私の方の環境は以下です。
Excel 2007(12.0.4518.1014)
Windows XP(5.1 Build 2600. xpsp.050622-1524 :Service Pack 2)
記事NO.135406 のレス /
削除チェック/

NO.135412  Re[4]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ ニイムラ
■投稿日/ 2010/04/07(13:52)
□URL/

度々ありがとうございます。

Ctrlを押しながらのエクセル起動(セーフモード)して例のファイルを開き、実行してみましたが、

やはり「コピー完了」が表示される時には、既にBookが可視状態になってしまいます。


ちなみに、当方の各バージョンは以下の通りです。「千尋」さんよりも若干新しいですね。
Excel2007 (12.0.6524.5003) SP2 MSO (12.0.6425.1000)
XP pro Version 5.1 (Build 2600.xpsp_sp3_gdr.091208-2036 : sp3)

社内の別支店にもう少し古いXP+2007のパソコンが有るので、そこで同様の検証をしてみようと思います。
記事NO.135406 のレス / END
削除チェック/

NO.135467  Re[5]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ ニイムラ
■投稿日/ 2010/04/09(08:59)
□URL/

解決報告です。

他のパソコンを使い、試行錯誤してい間に次のような事が判明しました。

Office2003がインストールされているPCにOffice2007をインストールした場合には現象が出ない事が判明しました。

なので、
・一旦2007をアンインストール
・その後、2003をインストール、
・さらに、2003を削除しての
・最後に2007のインストール

と言うような手順で今回の問題は解決しました。

具体的な原因がわからないままの解決となりましたが、どうやらプレインストール状態のOfficeがダメだった可能性があります。

とにかく、私なりの解決になりましたのでここへ報告いたします。

そして皆さんありがとうございました。
記事NO.135406 のレス /
削除チェック/

NO.135468  Re[6]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ ニイムラ
■投稿日/ 2010/04/09(09:00)
□URL/

解決です。チェックを入れ忘れました。
記事NO.135406 のレス / END
削除チェック/

NO.135475  Re[7]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ end-u
■投稿日/ 2010/04/09(10:52)
□URL/

ttp://oshiete1.goo.ne.jp/qa5808716.html
どうも伝わってなかったようです。
WindowStateプロパティじゃなくて
>.Left = -.Width
がポイントだったんですけど。
タスクバーでのマウス操作の懸念があるなら
Visible = False と合わせれば良いような気がしますが。

Sub Macro1()
Dim i As Long
Dim L As Double

With Application
.Visible = False
i = .WindowState
.WindowState = xlNormal
L = .Left
.Left = -.Width
Sheets(1).Copy Before:=Sheets(1)
.Visible = False
MsgBox "コピー完了"
.Left = L
.WindowState = i
.Visible = True
End With
End Sub

>Office2003がインストールされているPCにOffice2007をインストールした場合には現象が出ない事が判明しました。
私の2003|2007共存環境では現象が出ますが、
2003をアンインストールしての2007単体使用が解消条件なんですかね。
#いや、特にお返事が要るわけではないのでスルーして頂いて構いませんけど。


この記事にはVBAのコードが含まれています。

緑の太文字→注釈
茶色の太文字→条件分岐
赤の太文字→ループ
青の太文字→その他
記事NO.135406 のレス /
削除チェック/

NO.135494  Re[8]: エクセル2007のSheets.Copyメソッドの動きがおかしい
■投稿者/ ニイムラ
■投稿日/ 2010/04/09(13:36)
□URL/

わざわざこちらまで追ってきてくださってありがとうございました。
>>.Left = -.Width
>がポイントだったんですけど。
ようやく解りました。こんな方法もありましたか、気が付きませんでした。

>2003をアンインストールしての2007単体使用が解消条件なんですかね。
私の言葉足らずですね。
2007の再インストール時には「旧製品を削除します」を選択して2003は削除しています。なので実行時は2007単体の使用です。

それでも旧オフィスのdllやらが残るのでしょうかね?
なんらかの不具合っぽいですが、MSでは確認出来ません。

ありがとうございました。
記事NO.135406 のレス /
削除チェック/


パスワード/

- Child SEARCH -