ITservice雄飛 プロモーションビデオ

2020年12月13日日曜日

VBAのComobjにて、「Rangeクラスの.Selectメソッドが失敗しました」で、少し悩んだ話

こんばんは、ITsiervice雄飛です。

今回は、久々にプログラミングの話題を。


LazarusとVBA(Excel)の話題になります。


ComObjから、ワークブックを呼び出し、シートを操作します。

そして、セレクトするんですが。


大雑把に記すと、下記の様な構文でエラーが。

WorkBook.WorkSheets[SheetNo].Select


ある、特定の条件下に於いて、「.Select」でエラーが発生します。

「Rangeクラスの.Selectメソッドが失敗しました」

と出ます。

エラーメッセージ

下記の青線がエラー箇所



自作ライブラリのバグなのか、ExcelのComobjのエラーなのか??

原因は判りませんでしたが。
下記で解決。

  Cells  :=  setWorkSheet.Cells[row,col];
  setLine := Cells.Borders[isBorder];

Cells変数にCellの座標を直に入れて、それを呼び出します。
(要はセレクトを辞める)。

無事、動きました。

めでたしめでたし。

0 件のコメント:

コメントを投稿