MATLAB を介さずに Excel シートに MAT-ファイルを直接インポートするにはどのような方法がありますか?
13 views (last 30 days)
Show older comments
MathWorks Support Team
on 22 Oct 2012
Edited: MathWorks Support Team
on 17 Feb 2021
MATLAB を介さず、 Excel シートに直接 MAT-ファイルをインポートすることができるか教えて下さい。 MATLAB の LOAD 関数を使わない方法があれば教えてください。
Accepted Answer
MathWorks Support Team
on 17 Feb 2021
Edited: MathWorks Support Team
on 17 Feb 2021
次の方法の内の1つを使って、直接 Excel シートに MAT-ファイルをインポートすることができます。
1) オプション製品 MATLAB Compiler(旧MATLAB Builder EX) を、 MAT-ファイルインポートが実行できるアドインを作るために使うことができます。
2) オプション製品 Spreadsheet Link (for Microsoft Excel) (旧 Spreadsheet Link EX) を使い、 MAT-ファイルをインポートできます。ただし、こちらはバックグラウンドでの MATLAB の実行が要求されます。
3) MAT-ファイル API を使うことです。 MAT-ファイル API は、 Excel 環境で直接 MAT-ファイルをインポートするための VBA アプリケーションの中で API を呼んで使うライブラリのセットです。
MAT-ファイル API のさらなる情報は、以下のリンクから参照することができます。
上記方法を使うためには、その DLL 中の関数にアクセスする VBA コードを書く必要があります。以下の例 matcreat.c 中にあるような、 DLL にアクセスする もう一つの C/C++ のラッパー DLL を作成する必要があります。
ラッパー DLL は VBA からコールされる関数を備えるようにします。
フォーマットとしては、以下のコードのようになります。
Private Declare Function matOpen Lib "libmat.dll" (filename As String, mode As String) As Long
Private Declare Function matClose Lib "libmat.dll" (mfp As Long) As Integer
Private Declare Function matGetVariable Lib "libmat.dll" (mfp As Long, name As String) As Long
Sub test()
matHandle = matOpen("C:\LocalData\Requests\Excel_MAT\test.mat", "r")
Call matClose(matHandle)
End Sub
ここで上記において、 libmat.dll の代わりに自作のラッパー DLL を使います。
0 Comments
More Answers (0)
See Also
Categories
Find more on MATLAB Compiler in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!