Top > OOobbs2 > 17

OOobbs2/17 Edit

  • サマリ: 数値のみをコピーする方法
  • 環境: Calc
  • 状態: 解決
  • 投稿者: くま?
  • 投稿日: 2006-12-16 (土) 21:15:54

質問 Edit

特定セルB640に、プロパティーを取得した上で      Hensuu=inputbox(・・・)により入力された数値を書き込むとき、

         ocell.value=Hensuu

とすると、B640のシート上での書式設定の枠(罫線)が消えます。相手セルの書式を変更せずに、数値を入力する場合、どうしたらよいでしょうか。

回答 Edit

  • 以下のようにしてみましたが、OOo 2.0.4 winxp では再現しませんでした。

セル B640 に枠線を付けた後で実行してみました

ファイル fileOOobbs2-17.ods

Sub Main
Dim oDoc As Object, oSheet As Object
Dim oCell As Object
Dim nValue As Long
  oDoc = ThisComponent
  oSheet = oDoc.getSheets().getByIndex(0)
  oCell = oSheet.getCellByPosition(1,639)
  nValue = Inputbox("")
  oCell.Value = nValue
End Sub

私の環境では枠線は消えずに残っていました。バージョンの関係などがあるのかもしれません。

  • はにゃ?? 2006-12-16 (土) 23:58:41
  • 説明不足ですみませんでした。シート上に事前に作成した表の罫線が消えるというものです。普通のシート操作では「条件付きコピー」で値のみを条件指定することにより、書き込み先の書式が壊れません。これをマクロで行いたいのです。ただし、Hensuuという変数からのコピーをしたいのです。 -- くま? 2006-12-18 (月) 08:44:10
  • 上記のように
oCell.Value = Hensuu

としても枠線は変化しません。Hensuu の型がよくないのでしょうか。

Hensuu にはどういった値が入っているのでしょう?

枠線を設定した B4 に枠線を設定していない B2 から Value を次のようにしてコピーしてみましたが、枠線は消えませんでした。

 Hensuu = oSheet.getCellByPosition(1,1).Value

 oSheet.getCellByPosition(1,3).Value = Hensuu
  • はにゃ?? 2006-12-18 (月) 15:28:54
  • お手数かけました。Hensuuの中身は単純な整数(ゼロも含む)なのですが、プログラムに問題があるようなので、もう一度プログラムし直すつもりです。 -- くま? 2006-12-18 (月) 16:25:28

感想,コメント,メモ Edit



Attach file: fileOOobbs2-17.ods 884 download [Information]

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes