[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロのエラー』(かず)
会社でマクロをメニューバーに登録していたのですが, そのうちの一人が更新しようとしたらエラーになってしまいました。 (以前はできていたのですが・・・ちなみに その人のファイルを私がやっても エラーは発生しません。OSも同じです。(ノートとデスクトップの違いはあります。)) 下記にコードを貼り付けます。どなたかエラーの原因を教えていただけないでしょうか? .Controls(contorolsnum).OnAction = actionname の部分でエラーになります。 実行時エラー-2147467259(80004005) OnAction'メソッドは失敗しました。'CommandBarButton'オブジェクト
Sub SetMenu() '自作メニューを作ります Const Worksheet_Menu_Bar = "Worksheet Menu Bar" '標準ニューバーに作ります Const BEGIN_GROUP = "-" Const MEMU_NAME_C = 1 Const MACRO_NAME_C = 2 Const ICON_ID_C = 3 Const PM_FILE_PATH_C = 4
Dim personalmacropath, mymenucaption Dim menuitems(50, 2), itemsnum, itemname, contorolsnum Dim mymenu, actionname, cntrl Dim n&, begingroup_or
personalmacropath = "'" & Cells(2, PM_FILE_PATH_C).Value & "'!" mymenucaption = Cells(6, PM_FILE_PATH_C).Value For n = 0 To 50 itemname = Cells(n + 2, MEMU_NAME_C).Formula If itemname = "" Then Exit For menuitems(n, 0) = itemname menuitems(n, 1) = Cells(n + 2, MACRO_NAME_C).Formula menuitems(n, 2) = Cells(n + 2, ICON_ID_C).Value Next n
For Each cntrl In CommandBars(1).Controls If cntrl.Parameter = mymenucaption Then cntrl.Delete End If Next cntrl itemsnum = n contorolsnum = 0 begingroup_or = 0 '新しいメニュー Set mymenu = CommandBars(Worksheet_Menu_Bar).Controls.Add(Type:=msoControlPopup) mymenu.Caption = mymenucaption mymenu.Parameter = mymenucaption With mymenu 'コマンドマクロの設定 For n = 0 To itemsnum - 1 If menuitems(n, 0) = BEGIN_GROUP Then begingroup_or = 1 Else contorolsnum = contorolsnum + 1 .Controls.Add Type:=msoControlButton .Controls(contorolsnum).Caption = menuitems(n, 0) actionname = personalmacropath & menuitems(n, 1) .Controls(contorolsnum).OnAction = actionname '1回目のここでエラー .Controls(contorolsnum).FaceId = menuitems(n, 2)
If begingroup_or = 1 Then .Controls(contorolsnum).BeginGroup = True begingroup_or = 0 End If End If Next n End With
End Sub
誰も返事がありませんでしたが色々調べたところこのマクロが 悪くないようであることが判明しました。 どうもお騒がせしてすいませんでした。 またありがとうございました。
ただ・・・ その使えなくなった人のPSRSONALがおかしいのです。 C:\Documents and Settings\AAA\Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLS が開かないのです。他にもたくさんのpersonalが出てきたりするのですが とりあえずこのフォルダーにpersonalを入れても開いてくれません。 なぜでしょうか? (かず)
オプション−全般タブのXLSTART代替フォルダ名に別のパスが入力されているからでは? (1or8)
OS 2000,OFFICE2003だと そんなのないような気がします。 今過去ログとかをみて色々模索してみます。 (かず)
EL2003 では「起動時に全てのファイルを開くフォルダ」のパスが違うのでは? (1or8)
過去ログにあった ヘルプ−バージョン情報−使用できないアイテム の中にPERSONALが入ってました。 これで全て解決しました ありがとうございます。 (かず)
解決済みのレスですが、過去ログを参考までに書いておきます。(1or8) [[20070625102939]]『エクセル起動時に個人用マクロが起動されなくなった???』
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.