Worksheetクラスを継承したクラスを作る(6)
地味~に作業を続けています。
これまでの栄光の軌跡は、コチラをどうぞ。
ExportAsFixedFormatメソッドの実装時に小ハマり
ついにExportAsFixedFormatまでたどりついた。
オブジェクト ブラウザーに、
Sub ExportAsFixedFormat(Type As XlFixedFormatType, [Filename], [Quality], [IncludeDocProperties], [IgnorePrintAreas], [From], [To], [OpenAfterPublish], [FixedFormatExtClassPtr])
だなんて書いてあるものだから、ばか正直に次のように実装してみた。
リスト1 クラスモジュール PoweredSheet
※該当部分のみ
Public Sub ExportAsFixedFormat(ByVal Type As XlFixedFormatType, _
Optional ByVal Filename As Variant, _
Optional ByVal Quolity As XlFixedFormatQuality, _
Optional ByVal IncludeDocProperties As Variant, _
Optional ByVal IgnorePrintAreas As Variant, _
Optional ByVal From As Variant, _
Optional ByVal To As Variant, _
Optional ByVal OpenAfterPublish As Variant, _
Optional ByVal FixedFormatExtClassPtr As Variant)
Call realSh.ExportAsFixedFormat(Type, Filename, _
Quolity, IncludeDocProperties, _
IgnorePrintAreas, _
From, To, _
OpenAfterPublish, _
FixedFormatExtClassPtr)
End Sub
そうしたらアンタ、なんとコンパイルが通らない。
う~む……。

原因は知れた。何かでこういう場合を自分はもっと知っていたと思った。
そう、予約語だ!
引数名のTypeとToが予約語だったのだ……。
修正
……というわけで、修正。
リスト2 クラスモジュール PoweredSheet
※該当部分のみ
Public Sub ExportAsFixedFormat(ByVal typeArg As XlFixedFormatType, _
Optional ByVal Filename As Variant, _
Optional ByVal Quolity As XlFixedFormatQuality, _
Optional ByVal IncludeDocProperties As Variant, _
Optional ByVal IgnorePrintAreas As Variant, _
Optional ByVal pageFrom As Variant, _
Optional ByVal pageTo As Variant, _
Optional ByVal OpenAfterPublish As Variant, _
Optional ByVal FixedFormatExtClassPtr As Variant)
Call realSh.ExportAsFixedFormat(typeArg, Filename, _
Quolity, IncludeDocProperties, _
IgnorePrintAreas, _
pageFrom, pageTo, _
OpenAfterPublish, _
FixedFormatExtClassPtr)
End Sub
おわりに
予約語の存在は、ついつい忘れがちなので、気をつけましょう。