C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■98266 / 親階層)  VBでExcelを開くと文字化けするようになった
□投稿者/ masaX (1回)-(2021/10/26(Tue) 12:30:21)

分類:[VB.NET/VB2005 以降] 

はじめて投稿させていただきます。

VisualStudio2005の頃にVBで作ったエクセルを起動するプログラムがあり無事に作動していたのですが、つい先日PCを取り替えたところ、問題なく開いてたエクセルが文字化けするようになってしまいました。
PCに入ってたOSはWindows10→Windows10で変わりはないのですが、Officeが2013から2019に変わりました。
64ビットのまま変わりません。
原因を切り出すつもりで、エクセルを開く部分だけを切り出してプログラムを作ってみたのですが、やはり同じ現象になります。

コードは下記の様な感じです。(レイトバインディングって言うんでしょうか?)

    Public xlSheets As Object
    Public xlBooks As Object
    Public xlBook As Object
    Public xlSheet As Object
    Public xlCells As Object
    Public xlApplication As Object
    Public Arr As New ArrayList

    Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
        Dim path As String = ""
        path = "C:\Users\m-sugimoto\Desktop\エクセルテスト.xlsx"
        Excel_Original_Open(path, 1, True)
    End Sub

    Public Sub Excel_Original_Open(ByVal ファイルパス As String,
                                         ByVal シート名 As Object,
                                         ByVal Visibled As Boolean)

        xlApplication = CreateObject("Excel.Application")
        Arr.Add(xlApplication)
        xlApplication.DisplayAlerts = False
        If Visibled = True Then
            xlApplication.Visible = True
        Else
            xlApplication.Visible = False
        End If
        xlBooks = xlApplication.Workbooks
        Arr.Add(xlBooks)
        xlBook = xlBooks.Open(ファイルパス)
        Arr.Add(xlBook)
        xlSheets = xlBook.Worksheets
        Arr.Add(xlSheets)
        If IsNumeric(シート名) = True Then
            Dim num As Integer
            num = CType(シート名, Integer)
            xlSheet = xlSheets(num)
        Else
            xlSheet = xlSheets(シート名)
        End If
        xlSheet.select()
        Arr.Add(xlSheet)
        xlCells = xlSheet.Cells
        Arr.Add(xlCells)
    End Sub

もし改善する方法があれば嬉しいのですが。

また、レイトバインディングがダメなのか?とも思い
こちらのサンプルの「既存の Excel ブックを開く」のコードをそのまま使ってプログラムを書いてみました。

        ' Excel.Application の新しいインスタンスを生成する
        Dim xlApplication As New Excel.Application()
        Dim xlBooks As Excel.Workbooks

        ' xlApplication から WorkBooks を取得する
        xlBooks = xlApplication.Workbooks

        ' 既存の Excel ブックを開く
        xlBooks.Open("C:\Users\m-sugimoto\Desktop\エクセルテスト.xlsx")

        ' Excel を表示する
        xlApplication.Visible = True

しかし、今度は参照が間違っているのか
一行目の
    Dim xlApplication As New Excel.Application()
で
「ハンドルされていない例外

System.InvalidCastException:型
Microsoft.Office.Interop.Excel.ApplicationClassのCOMオブジェクトをインターフェイス型Excel.Applicationにキャストできません。」

と出ます。

参照に追加したのは
・Microsoft Excel 9.0 Object Library
・Microsoft Office 16.0 Object Library
の2つです。

参照が間違ってるのでしょうか?

使っていたVisualStudio2015が古いのか?とも思い2019に入れ直してみましたが同じでした。

教えていただけると嬉しいです。

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: VBでExcelを開くと文字化けするようになった /masaX
→Re[1]: VBでExcelを開くと文字化けするようになった /魔界の仮面弁士
→Re[1]: VBでExcelを開くと文字化けするようになった /大谷刑部
 
上記関連ツリー

VBでExcelを開くと文字化けするようになった / masaX (21/10/26(Tue) 12:30) #98266 ←Now
Re[1]: VBでExcelを開くと文字化けするようになった / masaX (21/10/26(Tue) 13:11) #98267
Re[1]: VBでExcelを開くと文字化けするようになった / 魔界の仮面弁士 (21/10/26(Tue) 13:39) #98268
│└ Re[2]: VBでExcelを開くと文字化けするようになった / masaX (21/10/26(Tue) 15:44) #98270
│  └ Re[3]: VBでExcelを開くと文字化けするようになった / 魔界の仮面弁士 (21/10/26(Tue) 16:41) #98271
Re[1]: VBでExcelを開くと文字化けするようになった / 大谷刑部 (21/10/26(Tue) 17:31) #98273
  │  └ Re[4]: VBでExcelを開くと文字化けするようになった / masaX (21/10/26(Tue) 17:27) #98272
  │    └ Re[5]: VBでExcelを開くと文字化けするようになった / 魔界の仮面弁士 (21/10/26(Tue) 21:43) #98278
  │      └ Re[6]: VBでExcelを開くと文字化けするようになった / masaX (21/10/26(Tue) 23:03) #98279
  └ Re[2]: VBでExcelを開くと文字化けするようになった / masaX (21/10/26(Tue) 19:06) #98274
    ├ Re[3]: VBでExcelを開くと文字化けするようになった / ビール飲み (21/10/26(Tue) 19:35) #98275
    │└ Re[4]: VBでExcelを開くと文字化けするようになった / masaX (21/10/26(Tue) 20:23) #98276
    │  └ Re[5]: VBでExcelを開くと文字化けするようになった / ビール呑み (21/10/26(Tue) 20:58) #98277
    │    └ Re[6]: VBでExcelを開くと文字化けするようになった / くま (21/10/27(Wed) 01:41) #98280
    └ Re[3]: VBでExcelを開くと文字化けするようになった / 大谷刑部 (21/10/27(Wed) 09:48) #98281
      └ Re[4]: VBでExcelを開くと文字化けするようになった / masaX (21/10/27(Wed) 13:54) #98282 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信