- ベストアンサー
VBAでプログレスバーコントロールを使いたい
- excelVBAのコードが終了するのに約1分30秒程かかります。この間進捗商況をある程度表示するものがあったらいいのにと思いました。
- ネットで検索しますと 「VBAでプログレスバーコントロールを利用する。」という説明がありました。それを参考に、やっとツールボックスのアイコンの中に「prgressBar」を追加することができました。
- ツールボックスからコマンドボタンをホーム上にドラッグし「実行」と名前をつけました、次にツールボックスから「progressbor」のアイコンをホーム上にドラッグすると「ライブラリーは登録されていません」と表示されしまいます。なにが操作上足りないものがあったのでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>「ライブラリーは登録されていません。」と表示されてしまいます。 >なぜなのかわかりません。「ライブラリーに登録」とはどのような扱いをすればいいのでしょうか? >度重なる質問申し訳ありません。お願いいたします。 プログレスバーを使用するためのコントロール群が正常にWindowsに登録されていないことによるエラーかと思います。 前述までの方法はコントロールをレジストリに再登録する方法なのですが、office2013のbit数はOSと同じ64bitを使っていますか?32bitのoffice2013でしょうか。 C:\Program Files\Microsoft Office 15\root\vfs\SystemX86 上記フォルダの中に下記のファイルが有れば、 MSCOMCTL.OCX 上記ファイルをコピーして、「C:\Widnows\SysWOW64」のフォルダに張り付け(上書き保存)てください。 再度No1、3の通り、「管理者権限で実行」したコマンドプロンプトより regsvr32 c:\Windows\SysWOW64\MSCOMCTL.OCX 上記コマンドをコピーして貼り付けたのちにEnterで実行してください。 以下参考: http://rurutialot.hotcom-cafe.com/wordpress/vba%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E9%85%8D%E7%BD%AE%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%8C%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AF/ https://social.msdn.microsoft.com/Forums/ja-JP/283b4973-f6f7-47e1-a573-1b70b07d2742/listviewuserform
その他の回答 (4)
- eden3616
- ベストアンサー率65% (267/405)
No3ですが、すいません文章が抜けておりましたので補足します。 regsvr32 c:\Windows\SysWOW64\MSCOMCTL.OCX 上記パスの「r」から、「X」までを選択 ↓ 上記パスの「r」から、「X」までを選択して右クリックから「コピー」を選択
お礼
ありがとうございます。 コピーしました。その結果 Regsvr32 c:¥windows¥syswow64¥mscomctl.ocx Dllreqisterserverは成功しました。 ok とでました。 次に、マクロのコードを表示させて、ここにユーザーホームを表示させるとコントロールボックスも表示されました。このコントロールボックスからコマンドボタンをホームに移動させました。次にprogresbarを移動させると 「ライブラリーは登録されていません。」と表示されてしまいます。 なぜなのかわかりません。「ライブラリーに登録」とはどのような扱いをすればいいのでしょうか? 度重なる質問申し訳ありません。お願いいたします。
- eden3616
- ベストアンサー率65% (267/405)
>OSはWindows10 64bit excel2013 です。 64bit でしたら、No1のパスになります。 regsvr32 c:\Windows\SysWOW64\MSCOMCTL.OCX 上記パスの「r」から、「X」までを選択 管理者権限で実行したコマンドプロンプトを開くと以下のようになります。 C:\Windows\system32> コマンドプロンプトの画面を「右クリック→貼り付け」を選択してから「Enter」キーを押してください。 >ファイル名、デレクトリ名、またはボリュームラベルの構文が間違いです。」 「regsvr32」と「C:/~.OCX」の間には半角スペース「 」が必要です。 また大文字小文字に区別はありませんが、上記の通り入力ではなくコピー貼り付けで行ってみてください。 >調べてみると「¥」で表示されていても内容は逆スラッシュの意味だとのことでしたので Windowsではバックスラッシュは円記号で表示されてしまいますが、同じ意味です。 コマンドプロンプトでバックスラッシュは円記号で表示されますので、そのままで問題ありません。 キーボードでいうと「右側のShft」キーの左隣にある「ろ」と書かれているキーになります。
- eden3616
- ベストアンサー率65% (267/405)
No1に補足です。 No1は64bitOSの場合のコマンドになります。 32bitOSであれば以下のコマンドをコマンドプロンプトで実行してみてください。 Regsvr32 "C:\Windows\System32\MSCOMCTL.OCX" ▼OSのbit数を確認する方法 http://faq.ricoh.jp/app/answers/detail/a_id/58/~/%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E3%81%AE-os-%E3%81%A8%E3%83%93%E3%83%83%E3%83%88%E6%95%B0%E3%81%AE%E7%A2%BA%E8%AA%8D%E6%96%B9%E6%B3%95-(windows-8%2F7%2Fvista%2Fxp)
お礼
早速のご回答ありがとうございました。 最低限の環境の説明をしなくして、質問ばかり慌てて投稿しました、申し訳けありません。 OSはWindows10 64bit excel2013 です。 挑戦してみましたが、今回の問題は私には少し早すぎたレベルで難しいと思いました。 まず、恥ずかしいのですが、逆スラッシュの出し方がわからず、ネットで調べてからととりかかる有様です。 調べてみると「¥」で表示されていても内容は逆スラッシュの意味だとのことでしたので、コマンドプロンプトン 右クリックで「管理者として実行」を選択しまし開くプロンプトン画面には逆スラッシュの部分は「¥」を すべて入力したコマンドをいれEnterを押すと「ファイル名、デレクトリ名、またはボリュームラベルの構文が間違いです。」とでます。 ------------------------------------------- ネットで 「半角の逆スラッシュ入力」の手順により「フォント名」欄を」Arial]にしてみましたが「¥」 の表示しかでませんでした。 ------------------------------------------------------ 以上、 せっかく教えて頂きながら結果を出すことができませんでした。 =========================== しかし、まったく理解できないことが発生しました。 「regsvr32c:\Windows\SysWOW64\MSCOMCTL.OCX」 上記のように、立派に逆スラッシュの入ったコードがこのお礼文を書いているときできました。ので早速 元に戻り、コマンドプロンプトンにコマンドを入れようとすると、やはり「¥」でしか入りませんでした。 ネットにありました,半角の逆スラッシュを引く手順の「フォント名」を「Arial」に変えてみましたがその時は「¥」しか表示しませんでした、なにかのタイミングで表示できるようになっているようです。 最後にこのお礼文の「確認する」に進むと、上記コマンドの逆スラッシュがすべて「¥」に変わっていましたので 説明上,上記のコマンドは、記号の「逆スラッシュ」をつかっております。 以上なにを説明しているのかと思われとおもいますがお許し下さい。 ありがとうござしました。今後ともよろしくお願いいたします。
- eden3616
- ベストアンサー率65% (267/405)
OS(Windows7/8/8.1/10)及びビット数(32bit/964bit)やofficeのバージョン(office2007、2010)などは最低限記載してください。 「スタート>全てのプログラム>アクセサリ>コマンドプロンプト」を 右クリックして管理者権限で実行を選択してください。 プロンプト画面に以下のコマンドを入れて実行してみてください。 regsvr32 c:\Windows\SysWOW64\MSCOMCTL.OCX
お礼
ありがとうございました。 教えて頂いたとうり進めましたら見事に、ライブラリーに登録できました。 これからまたかなり困難な作業がありそうですが挑戦したいとおもいます。 今回は大変お世話になりました。ありがとうございました。 今後ともよろしくお願いいたします。