• 締切済み

VBEでの引数を書き方について

VBE の pdf の出力をする構文の書き方についての質問です。 構文は ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) かと思いますが, Webサイトなどで,調べていると Sheets(ShtName).ExportAsFixedFormat Type:=xlTypePDF, _ FileName:=MyPath & "\" & Sheets(ShtName).Name & ".pdf" のように書かれていて,引数の部分に( ) が使われていません。 なぜでしょうか?

みんなの回答

  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.3

 コマンドとして直接書く場合は不要ですが、関数の様に使う場合は必要です。以下、不要な場合と必要な場合の例です。 '   ActiveSheet.ExportAsFixedFormat xlTypePDF, _     ThisWorkbook.Path & "\" & ActiveSheet.Name '   Dummy = ActiveSheet.ExportAsFixedFormat(xlTypePDF, _     ThisWorkbook.Path & "\" & ActiveSheet.Name) '   Call ActiveSheet.ExportAsFixedFormat(xlTypePDF, _     ThisWorkbook.Path & "\" & ActiveSheet.Name) Dummy には何も入りません。下2つの書き方は無駄です。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

引数らしきもの、の、名前の後の()は (1)関数 Functionで (2)SUB プロシージャーで (3)メソッド、プロパテイで その他に (4)演算における順序指定(常識的事項なので略) などで見かけます。 ーー ・括弧が必要かどうかは下記http://officetanaka.net/に書いてあることが(VBA的に)参考になるのではないでしょうか。 ・その他に、Googleなどで「VBA 引数 括弧の省略」など で照会し、記事を読んで、頭を整理してください。 ーー 普通は()は必要のようですが、下記のような事項もあるようです。 https://www.tipsfound.com/vba/02002 VBA でやっかいなのは、関数の引数に括弧 () を付けて呼び出すと ByRef でも値が変更されません。 ーー 小生の経験で、(3)のケースだと思うのですが、 Set AAA=XXX(引数・・)のようなとき、空白区切りで引数を連ねようとすると、(名前付き引数でも)()で囲むことを求められる経験があります。 下記に書いてあるケースだと思うのですが。 http://officetanaka.net/ 括弧が必要な場合 ーー https://learn.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/understanding-named-arguments-and-optional-arguments 名前付き引数とオプションの引数について >名前付き引数を使用してこのプロシージャを呼び出すことができます。 この場合は()は不要のようです。

  • dell_OK
  • ベストアンサー率13% (766/5722)
回答No.1

カッコのありなしについてはこちらが参考になるかと思います。 http://officetanaka.net/excel/vba/beginner/07.htm

関連するQ&A