Top > OOobbs > 63

OOobbs/63 Edit

  • サマリ: アンドゥをまとめるには
  • 環境: Calc
  • 状態: 未解決
  • 投稿者: rage2050?
  • 投稿日: 2005-04-27 (水) 11:34:35

質問 Edit

OOo1.1.4, Calc で、マクロから複数のセルの内容を書き換えてから「元に戻す」でアンドゥすると、セルがひとつずつ元に戻ります。これを 元に戻す 1回で戻せるようにする方法はありますか? どなたかご存じでしたらお願いします。

Sub Main
  dim oSheet as object 
  oSheet = ThisComponent.CurrentController.ActiveSheet
  dim oCell as object
  oCell = oSheet.getCellByPosition( 0, 0 )
  oCell.Formula = "ねずみ"
  oCell = oSheet.getCellByPosition( 1, 0 )
  oCell.Formula = "うし"
  oCell = oSheet.getCellByPosition( 2, 0 )
  oCell.Formula = "とら"
end sub

マクロを実行

ねずみうしとら

元に戻す、1回目

ねずみうし

元に戻す、2回目

ねずみ

元に戻す、3回目

これを、以下のように1回で戻せるようにしたい。

マクロを実行

ねずみうしとら

元に戻す

回答 Edit

  • セル範囲に対して一度に値を設定することでアンドゥ1回で戻るようです。
    Sub Main
      dim oSheet as object 
      dim oCellRange as object
      dim strData as variant
      oSheet = ThisComponent.CurrentController.ActiveSheet
      oCellRange = oSheet.getCellRangeByPosition( 0, 0, 2, 0 )
      strData = oCellRange.getFormulaArray()
      strData(0) = Array("ねずみ", "うし", "とら")
      oCellRange.setFormulaArray(strData)
    End Sub
    アンドゥするとセル範囲が選択された状態にはなりますが、アンドゥには範囲の選択等はでないようです。 -- 河井? 2005-04-27 (水) 23:56:38


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