• 締切済み

Excel VBA のコンパイルエラー

Excel VBA で GDI32 にある API を declare するとメモリ不足のコンパイルエラー となってしまいます。 どなたか解決策を御教示下さい。 使用するAPI は GetTextExtentPoint32 です。 コンパイルエラーが起きるVBAコードは、MSのVBサンプルから拾ったものです。 private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" ( _ ByVal hdc As Long, _ ByVal lpsz As String, _ ByVal cbString As Long, _ ByRef lpSize As CSize) As Long Private Type CSize cx As Long cy As Long End Type 同じ GDI32 にある DeleteObject の declare 文はエラーが発生しません。 環境は以下の通りです。 Excel 2007 OSはVista 32bit メモリは 3G で約60%使用 宜しくお願いします。

みんなの回答

  • angel_Z
  • ベストアンサー率66% (12/18)
回答No.1

参照URLの解説に、「文字列が水平であること」 と書かれておりますが、 セルの書式設定で、文字の角度が付けられていたりしていませんか? 例えば、縦書きになっていたりとか…  推測ですが…その場合、変換してからでないとエラーが起きるのではないでしょか。。。

参考URL:
http://tokovalue.jp/function/GetTextExtentPoint32.htm

関連するQ&A

専門家に質問してみよう