■使用条件:
・Windows 10 Pro 64 bit
・Excel® 2019 MSO (バージョン 2202 ビルド 16.0.14931.20118) 32 ビット
・ .NET freamwork 3.5 and 4.8
■行っている事
・vbaでArraylistでリストを取得、SORT後に処理に利用していました。
・PCが故障して、OSも含めて再インストールを行い、EXCEL vbaの動作試験をしていました。
・vba の 「Arraylist,Add Sttring」部分で Add しなくなりました。
ずっと問題なく動作していたので、vba のバグではありません。
・大分昔に作って動作させていたので忘れていたのですが、「mscorlib.tlb」参照設定しないと動作しない?と思い出しました。
・しかし、「mscorlib.tlb」を参照設定しても動作しません。
・予想される原因は、PC故障前まではEXCEL 64 bit を使っていて、今回は32bit がインストールしたためだと予想しています。
・64 bit PC/ 64bit OSに 32 bit EXCEL を使ったときは、32 biti の.NET FreamWork3.5 or 4.8 を使えば良いのでしょうか?
・ 64 bit マシン/OS に 32 bit の .NET freamworkをインストールを問題なく出来たでしょうか?
これで動作するのか、試す前に 悩んでいます。 ご存知の方教えてください。
No.1ベストアンサー
- 回答日時:
当方、Windows 10 Pro 64 bitで
Microsoft® Excel® 2019 MSO (バージョン 2202 ビルド 16.0.14931.20118) 32 ビット
の環境ですが、問題なく使用できています。excelは32ビット版です。
すくなくとも、32ビットの.NETFRAMEWORKをインストールした記憶はありません。
.NETFRAMEWORK 4以上の場合
参照設定で
チェックを入れるのは、mscorlib.dllですね。
また、チェックをいれないで、
Dim aryList As Object
Set aryList = CreateObject("System.Collections.ArrayList")
aryList.Add "ABC"
のようにCreateObjectを使用しても、問題なく動作します。
ですので、32 bit の .NET freamworkをインストールする必要はないかと思われます。
私が解決案を提示できるわけではありませんが、参考までに
「Arraylist,Add Sttring」部分で Add しなくなりました。ということですが、エラーメッセージは何が表示されていますか?
回答ありがとうございます。
> 当方、Windows 10 Pro 64 bitで
Microsoft® Excel(…) 32 ビットの環境ですが、問題なく使用できています。
excelは32ビット版です。すくなくとも、32ビットの.NETFRAMEWORKをインストールした記憶はありません。
=> 32 bitの .net など入れなくても 問題なく動作していますか!
以前の状態と差があるとすれば、Excel 64bit => 32 bit だけなので、.NET freamworkが原因かと考えました。
> 参照設定でチェックを入れるのは、mscorlib.dllですね。
=> C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.tlb を参照させると、
mscorlib.dll が現れるので、これにチェックを入れています。
> 「Arraylist.Add Sttring」部分で Add しなくなりました。ということですが、エラーメッセージは何が表示されていますか?
=> STEP実行して見ると、 string に文字列が入っているのに何も Addされず、空ListをSORTさせた後に
For Each aString In Arraylist <== Error ! Arraylistが 空 !!!
こんな感じで、Err Stop します。
> また、チェックをいれないで、
… 省略 …
問題なく動作します。
=> とのお話ですので、この前提で数行のプログラムを作ってテストを行ってみます。
No.3
- 回答日時:
確か64になるか32になるかにおいて、Officeは関係ない気もしました。
OSまたはVisual Studioなどで判断されたような?
大概VSインスト時に一緒に入って来ましたし。
過去に記事で4.7はともかく4.8が先に入ってると3.5のインストに失敗してたような?
なので最近はVBAの機能で解決するコードを書いてますね。
⇛うちは一応使えてますけど、使わないようになりました。
参照先(優先度?)がいつからか変更した感じでした。
VS立ち上げた際にそんなメッセージを見かけた覚えが。
回答有難うございます。
> 最近はVBAの機能で解決するコードを書いてますね。
=> 私もvba機能で作り込もうと思ったのですが、
ArrayList.Sort を使いたくて .NetのArrayListを使いました。
⇛うちは一応使えてますけど …
No 1の方も使えてるとのお話ですので、もう少し自分でしらべてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 2019 32-bit版を64-bit版にするには? 8 2023/07/28 14:20
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Excel(エクセル) 幾何学模様のセル内貼り付け 1 2023/07/11 00:45
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- Excel(エクセル) [並べ替えの前に]、[選択範囲を拡張する]のが煩わしいッ! 1 2023/02/28 22:40
- オンラインゲーム Valorantの最低・推奨スペックについて質問させてください。 2 2022/09/07 17:48
- Windows 10 Windows 10の[アプリと機能]に表示されない旧バージョンのアプリを削除したい 1 2022/04/05 20:25
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
5
VBA:Openステートメントで開いたCSVファイルの特定行を削除する方法
その他(プログラミング・Web制作)
-
6
DoEventsがやはり分からない
Visual Basic(VBA)
-
7
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
8
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
9
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
10
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
11
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
12
セル内の文字列が日本語か英語かを厳密に識別したい
Visual Basic(VBA)
-
13
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
14
オブジェクト(dll)のレジストリ登録について
Visual Basic(VBA)
-
15
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
16
Generic.List・ArrayList・配列の使い分け(VB2005)
Visual Basic(VBA)
-
17
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
18
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
19
VB2010で作成したdllからtlbが作れない
Visual Basic(VBA)
-
20
Accessのリンク先を相対パスにしたい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visual C++がたくさんある
-
発行元:不明???
-
う~ん…。
-
[VB.net] ExcelへのQRコード出...
-
VBAでArrayListを使う為の「msc...
-
Product Codeの変更法は?
-
VB6.0で作成したexeファイルが...
-
VB6(SP5)+OO4OでCreateObjectが...
-
VB5.0のocx?について
-
VB6のアプリケーションの配布
-
VB.NET で作られたソフト...
-
VB.NET(2017)で インストーラを...
-
Visual Studio 2005 OCX
-
OLEPRO32.DLLが見つかりません
-
ビルドした.exeファイルは.NE...
-
VB2013で作成したプログラムの...
-
accessがインストールされてい...
-
VB.NETでSPREADの設定方法
-
意味不明の実行時エラーで困っ...
-
vba 時間の引き算 例えば 15:00...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでArrayListを使う為の「msc...
-
VB6(SP5)+OO4OでCreateObjectが...
-
[VB.net] ExcelへのQRコード出...
-
VB.NETでSPREADの設定方法
-
次のクラスは登録されていませ...
-
発行元:不明???
-
VB6で作成したアプリを配布する...
-
VB6.0で作成したexeファイルが...
-
accessがインストールされてい...
-
Product Codeの変更法は?
-
ListViewで文字化けしてしまい...
-
Excelがインストールされてない...
-
ビルドした.exeファイルは.NE...
-
う~ん…。
-
アドインファイルの移動(再)
-
MSDNのセットアップ方法(ヘル...
-
VB.NET で作られたソフト...
-
.NETの標準ライブラリでExcelフ...
-
インストール不要アプリケーシ...
-
VB6をWindows10にインストール...
おすすめ情報
★解決しました。
「アプリと機能」の「プログラムと機能」の「Windowsの機能の有効化または無効化」
というメニューから
□ .NET Framework3.5にチェックを入れる事で解決しました。
(□ .NET Framework4.8 Advanced Servicesにはチェックが既に入っていた。)
結局、今回のPC故障のO/S再インストール時に、なぜかこのチェックが付いてなかったと言うことだと思います。