create a new page, using OOobbs/12 as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
** [[OOobbs/12]] [#ga853046]
-''サマリ'': マクロで本日の日付を記述するコード
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[risa]]
-''投稿日'': 2004-05-12 (水) 15:04:36
*** 質問 [#t9435950]
初めまして。OpenOffice初心者です。
マクロを勉強中なのですが、下記の処理のコードが分かる方、
いらっしゃいましたら教えて下さい。
処理:セルA1に、本日の日付を記入する(書式はyyyy/mm/dd)
たったこれだけの事なのですが、色々調べてみたのですが
どうにも分かりませんでした。
宜しくお願いいたします。
*** 回答 [#t3e3c629]
えっと,
OpenOffice.org Basic の Now 関数で現在の日付を取得して
その値をセルに入力。そして,数書式設定を設定して
希望する形式の日付表示にしています。
Sub today_1
Dim oDoc As Object
Dim oSheet As Object, oCell As Object
Dim oNumberFormats As Object
Dim oLocale As New com.sun.star.lang.Locale
Dim nKey As Long
Dim dNow As Date
oLocale.Language = "ja"
oLocale.Country = "JP"
oDoc = ThisComponent
oSheet = oDoc.getSheets().getByIndex(0)
oCell = oSheet.getCellRangeByName("A1")
dNow = Now 'Now is OOo Basic runtime function.
oCell.Value = dNow
oNumberFormats = oDoc.NumberFormats
nKey = oNumberFormats.queryKey( "YYYY/MM/DD", oLocale,...
If nKey <> -1 Then
oCell.NumberFormat = nKey
Else
nKey = oNumberFormats.addNew( "YYYY/MM/DD", oLocale )
oCell.NumberFormat = nKey
End If
End Sub
このコードを実行すると,一番最初のシートのセル "A1" に
日付が入力されます。
この日付は,日付を示す数値データを数書式設定で
見た目をよくしているので,別のセルなどに参照すると
変なことになってしまうかもしれません。
(書式はyyyy/mm/dd) の部分ですが,ymd を小文字にするとエラ...
なので,YMD の大文字で指定します。
日付の見た目を数書式設定で行わないのであれば,
OOo Basic の runtime function を使って文字列に
変換してから文字列として入力する必要があります。
使っている関数などを理解するには,
-ドキュメントについて [[OOoBasic/Generic/document]]
-シートについて [[OOoBasic/Calc/sheet]]
-セルについて [[OOoBasic/Calc/cell]]
-セルの値について [[OOoBasic/Calc/contents]]
-数書式設定について [[OOoBasic/Calc/numberformats]]
といったところでしょうか。
-- [[はにゃ?]] &new{2004-05-13 (木) 01:25:09};
-ありがとうございました!教えていただいたコードで処理実行...
-新しいユーザーが増えそうな予感ですね。ページの説明がたり...
#comment
End:
** [[OOobbs/12]] [#ga853046]
-''サマリ'': マクロで本日の日付を記述するコード
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[risa]]
-''投稿日'': 2004-05-12 (水) 15:04:36
*** 質問 [#t9435950]
初めまして。OpenOffice初心者です。
マクロを勉強中なのですが、下記の処理のコードが分かる方、
いらっしゃいましたら教えて下さい。
処理:セルA1に、本日の日付を記入する(書式はyyyy/mm/dd)
たったこれだけの事なのですが、色々調べてみたのですが
どうにも分かりませんでした。
宜しくお願いいたします。
*** 回答 [#t3e3c629]
えっと,
OpenOffice.org Basic の Now 関数で現在の日付を取得して
その値をセルに入力。そして,数書式設定を設定して
希望する形式の日付表示にしています。
Sub today_1
Dim oDoc As Object
Dim oSheet As Object, oCell As Object
Dim oNumberFormats As Object
Dim oLocale As New com.sun.star.lang.Locale
Dim nKey As Long
Dim dNow As Date
oLocale.Language = "ja"
oLocale.Country = "JP"
oDoc = ThisComponent
oSheet = oDoc.getSheets().getByIndex(0)
oCell = oSheet.getCellRangeByName("A1")
dNow = Now 'Now is OOo Basic runtime function.
oCell.Value = dNow
oNumberFormats = oDoc.NumberFormats
nKey = oNumberFormats.queryKey( "YYYY/MM/DD", oLocale,...
If nKey <> -1 Then
oCell.NumberFormat = nKey
Else
nKey = oNumberFormats.addNew( "YYYY/MM/DD", oLocale )
oCell.NumberFormat = nKey
End If
End Sub
このコードを実行すると,一番最初のシートのセル "A1" に
日付が入力されます。
この日付は,日付を示す数値データを数書式設定で
見た目をよくしているので,別のセルなどに参照すると
変なことになってしまうかもしれません。
(書式はyyyy/mm/dd) の部分ですが,ymd を小文字にするとエラ...
なので,YMD の大文字で指定します。
日付の見た目を数書式設定で行わないのであれば,
OOo Basic の runtime function を使って文字列に
変換してから文字列として入力する必要があります。
使っている関数などを理解するには,
-ドキュメントについて [[OOoBasic/Generic/document]]
-シートについて [[OOoBasic/Calc/sheet]]
-セルについて [[OOoBasic/Calc/cell]]
-セルの値について [[OOoBasic/Calc/contents]]
-数書式設定について [[OOoBasic/Calc/numberformats]]
といったところでしょうか。
-- [[はにゃ?]] &new{2004-05-13 (木) 01:25:09};
-ありがとうございました!教えていただいたコードで処理実行...
-新しいユーザーが増えそうな予感ですね。ページの説明がたり...
#comment
Page: