2008年12月27日土曜日

excel #DIV/0を表示しない

表に#DIV/0が表示されてうざったいので調べたら以下の式がヒット。

=if(iserror(b2/b3)=true,"",b2/b3)

2008年12月26日金曜日

excelからwebページ保存する時に・・・

htmlで表を組むのはめんどくさいので、excelをwebページ保存したものを使っている。
その際、古い日程を非表示にするために
今までは行を消していたのだが、非表示にするだけで
Webページ上では見えなくなることが判明。
これで過去分もすぐに参照できる。

word 背景を印刷

以前wordで背景を印刷しようとしてWebで調べた際、どこかのページに「できない」と書いていたのを鵜呑みにしてしまっていたのだが、改めて見てみたところ
ツール→オプション→印刷→背景の色とイメージ
にチェックを入れるだけで印刷できた。
自分で調べることの大切さを痛感。

2008年12月25日木曜日

access 任意の数のレコードを追加する

エクセルで準備を整え、いよいよaccessでのフォームを始動。
コンボボックスt_numberで指定した数の分だけレコードを追加できる。

Private Sub cmdOK_Click()
Set myRS = New ADODB.Recordset
myRS.Open "Q_研修登録一括", CurrentProject.Connection, adOpenKeyset, adLockOptimistic Dim i As IntegerFor i = 1 To Me.number
myRS.AddNew
myRS(0).Value = 顧客番号.Value
myRS(1).Value = 実施日.Value
myRS(2).Value = コース内容.Value
myRS(3).Value = 請求料金.Value
myRS(4).Value = 部署.Value
myRS(5).Value = 職歴.Value
myRS(6).Value = 備考.Value
myRS(7).Value = 入金日.Value
myRS.Update
i = i
Next i
myRS.Close
Set myRS = Nothing
MsgBox "登録しました"
Forms!F_顧客詳細.研修内訳.Requery
Forms!F_顧客詳細!最終更新日 = Date
DoCmd.Close
End Sub

excel 空白行を指定数挿入

家のPCでまたNTLDR is missingが出た・・・
それはともかく、accessでレコードを任意の数追加するフォームを作っていたら
レコードに振っている番号を「オートナンバー」にする必要が出てきた。
オートナンバーだと消した物まで数として残してしまうのでDmax等を使って工夫していたのだが、
ここに来てそれがあだとなった。仕方なくエクセルを使って「数値」→「オートナンバー」への入れ替え作業開始。

ちょうど他の方が作成したマクロが使用できた。
それにしても何でこのブログはコピペ時に改行を反映してくれないのだろう。

Sub my_insert()
Dim oCurrentRow As Range '数値を読み取る行
Dim oNextRow As Range '次の行(この行の上に数値分の行を挿入)
Dim lInsertRows As Long '挿入する行数
Dim i As Long 'ループ変数
'初期値の設定
Set oCurrentRow = Rows(1)
Set oNextRow = Rows(2)
'A列の値がなくなるまでループ
Do Until oCurrentRow.Cells(1.1).Value = ""
'挿入する行数を読み取る。
lInsertRows = oCurrentRow.Cells(1, 1).Value
'挿入がある場合、行数分だけ挿入を繰り返す。
If lInsertRows > 0 Then
For i = 1 To lInsertRows
oNextRow.Insert Shift:=xlDown
Next
End If
'処理する行を設定しなおす。
Set oCurrentRow = oNextRow
Set oNextRow = oCurrentRow.Offset(1, 0)
Loop
End Sub

2008年12月24日水曜日

word ヘッダーフッターを置換

先のものをヘッダーフッター変換用にしたのがこれ。

Sub autoopen()
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooterFor Each i In Selection.HeaderFooter.Shapes ' すべてのシェープを検索If i.Type = msoShapeRectangle Theni.TextFrame.TextRange.Find.Execute FindText:="VTR機材(VTR,テープ", ReplaceWith:="VTR機材(ビデオカメラ、テープ", Replace:=wdReplaceAll
End IfNextActiveDocument.SaveActiveDocument.Close
End Sub

word 四角形の中の文字を置換

以前使ったテキストボックス内の文字を置換するマクロを使おうと思ったのだが、全くうまくいかない。どうもテキストボックスの中に書いた文字と四角形の中に書いた文字は別の扱いになるようだ。
んで最終的に使えるようになったものがこれ。

Sub autoope()
For Each i In ActiveDocument.Shapes
If i.Type = msoShapeRectangle Then
i.TextFrame.TextRange.Find.Execute FindText:="VTR機材(VTR,テープ", ReplaceWith:="VTR機材(ビデオカメラ、テープ",
Replace:=wdReplaceAll
End If
Next
ActiveDocument.Save
ActiveDocument.Close
End Sub

2008年12月23日火曜日

はがき印刷時の怪(白紙が出てくる)

毎年この時期になると年賀状を大量に印刷するが、100枚に1枚くらいの割合でずらりと印刷された中に白紙のままで出てくる物がある。不思議なことだが、あんな厚い物を1度に2枚巻き込んでしまっているということなのだろうか。

2008年12月19日金曜日

クリップアートはIEで検索が吉

IEで開いた場合には、
・バスケットに追加
・詳細表示
の他に
・クリップボードにコピー
が追加されるので、いちいちダウンロードなどしなくても
すぐに使うことができる。

word ショートカット一覧

wordで間違ってCtrl+Alt+Lを押したらなんだか妙な挙動を。

調べてみたらList Numの動作らしい。一覧があったのでリンクを張っておく。

http://support.microsoft.com/kb/290938/ja

2008年12月18日木曜日

htmlメール(cssつき、装飾多し)を作成・送付するには

普段はテキストメールしか使わないが、社命だからしょうがない。
新規作成からhtml形式を選んで色々頑張っていたのだが、すかしが表示されなかったり gmailに送ると背景が見えなかったりとどうにもうまくいかない。
最初の発送に戻ってテンプレートを使うことにした。
http://www.popxpop.com/archives/2007/07/html30.html
こちらのリンク先のページからテンプレートをダウンして使ったが、
今度はそれをどうやってメールとして送ればよいのか分からなくなった。
Outlookのメニューからはhtmlを選べない。
仕方がないので、wordでhtmlを開いてメール送付した。

インディアン(ネイティブアメリカン)の強キャラ

漫画でインディアン(ネイティブアメリカン)が描かれると 敵側の強キャラであることが多い気がする。 「バオー来訪者」ウォーケン 「傷追い人」インディアン・ジョー 「THE EDGE」バード バードはインディアンと明言されたわけではないが、バンダナ、長髪、厚い唇、戦闘力などからここに...