Worksheetクラスを継承したクラスを作る(6)
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
おわりに
予約語の存在は、ついつい忘れがちなので、気をつけましょう。