VBA转换为VB.Net文件二进制读取

时间:2016-09-13 08:12:21

标签: vb.net vba

我正在尝试将部分VBA转换为VB.Net。我没有使用VB.Net,因为我更喜欢使用C#,但由于我需要转换的代码量,我正在编码VB.Net dll,我可以将其用作参考C#申请。

我有以下VBA代码,需要能够在VB.Net

中生成相同代码
Open FileName For Binary Access Read As #1
Get #1, , customType

customType 是用户定义的数据类型。我已在VB.net中将所需的类型复制为结构,但我不知道从哪里开始为VB.Net重现此代码

任何建议都将不胜感激。

更新1:

FileOpen(1, FileName, OpenMode.Binary)
FileGet(1, customStruct)

上面似乎有些工作,但是当自定义结构将项目定义为数组时,我得到以下异常。

e.g,

Public Structure CustomStruct
    Dim FileType() As Byte
End Structure
  

Microsoft.VisualBasic.dll中出现未处理的“System.ArgumentOutOfRangeException”类型异常

     

其他信息:需要非负数。

我已通过

初始化尺寸
ReDim customStruct.FileType(7)

由于

1 个答案:

答案 0 :(得分:1)

我经过大量的试验和错误后找到了解决方案,以下工作,

FileOpen(1, FileName, OpenMode.Binary) FileGet(1, customStruct)

关于另一个问题,数组必须在结构中声明为固定,即使它在使用之前已初始化

<VBFixedArray(2)> Dim FileType() As Byte

约什