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

そうしたらアンタ、なんとコンパイルが通らない。

う~む……。

f:id:akashi_keirin:20191011220158j:plain

原因は知れた。何かでこういう場合を自分はもっと知っていたと思った。

そう、予約語だ!

引数名のTypeTo予約語だったのだ……。

修正

……というわけで、修正。

スト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

おわりに

予約語の存在は、ついつい忘れがちなので、気をつけましょう。

続きはコチラ

akashi-keirin.hatenablog.com