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を開いてメール送付した。

2008年12月17日水曜日

access 変更履歴を残す

http://questionbox.jp.msn.com/qa164850.html
こちらのページを参考にコードを組んだ。

Sub History_Tantou()
Dim Ctr As Control Dim strSQL As String
For Each Ctr In Me.Controls If Ctr.ControlType = 109 Then If Nz(Ctr.OldValue, "") <> Nz(Ctr.Value, "") Then strSQL = "insert into T_履歴 values('F_担当者内訳'," & Me.担当者No & "," & Me.暦年 & _ ",'" & Me.顧客番号 & "','" & Ctr.ControlSource & "','" & Ctr.OldValue & "',#" & Now() & "#)" DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True End If End If Next CtrEnd Sub

一見うまくいったように見えたのだが一部のフィールドではうまくいかなかった。
エラーメッセージは
'この操作は、このタイプのオブジェクトには実行できません'
2つのテーブルを組み合わせたクエリをレコードソースにしているのだが、
一対多で結んでいるのが原因の様子。
"一"のほうのフィールドではうまいくが、"多"のほうでは更新できない。
今の所打開策無し。

駅すぱあと出力画面

人に駅すぱあとの印刷をもらった時、見慣れないビューがあった。メインの経路ほかに左下にもうひとつの経路が印刷してあったので、一度に2つの経路を出力できるようになったのかと思ったが、よく調べると印刷時のオプション「停車駅一覧付の印刷」だった。要は経路を細かく印刷したに過ぎない。

excel アドイン削除後の始末

excelのアドインも、使った後しばらく立つとその存在を忘れてしまい、フォルダごと削除した後、エラーメッセージによってそんなものがあったことを気づかされる。
エラーメッセージを消すには、ツール→アドインから不要な物のチェックを外すだけ。
だが知らないと少し時間を食ってしまう。

2008年12月16日火曜日

powerpoint 白黒印刷の際の注意

powerpointファイルをグレースケールで出力する場合、何故か線を「なし」にしているはずのテキストボックスの線が黒く表示されてしまうことがある。(カラー印刷時はもちろん線は出ない)。これはそのテキストボックスをグループ化している時に起こる模様。グループ化を解除したものはちゃんと線は出ずに印刷される。

2008年12月13日土曜日

CD/DVD挿入時のブルーバック回避2

ブルーバック問題は解決したかと思っていたが、OS再インストールした後に挿入してみるとまた同じ問題が起こってしまった。前回の外付けをつける方法でも回避できないのでいろいろ試してみたが、IDEドライブをセカンダリのマスタからプライマリのマスタにつけることで解決した。

2008年12月12日金曜日

access wordへの差込ができなくなった

accessのシステムで、情報をwordへ差し込むボタンをつけていたのだが、昨日試してみたらいきなりエラーを吐くようになっていた。

メッセージは
実行時エラー '-2147023113 (800706f7)':
'Execute'メソッドは失敗しました: 'Find'オブジェクト

これはどうやらマイクロソフトも解決できない原因不明の問題らしい。
http://support.microsoft.com/kb/292744/ja

他のPCでやったら問題なく差し込めた。accessはこういった原因不明の挙動が多すぎて本当に疲れる。

access 特定のフィールドをロック

本来はクエリのままでやりたかったのだが、それはできなそうだったのでフォームを使うことに。フォームにフィールドを配置し、変更したくないフィールドに更新ロックをかければOK。またフォームのプロパティで規定のビューを選べることも忘れていた。この場合はデータシートビューが適切。

2008年12月10日水曜日

msiファイルを管理者権限で実行

こちらのページを参考にさせて頂いた。
http://d.hatena.ne.jp/dacs/20050921/1127232523
コマンドプロンプトを管理者権限で実行し、例として
msiexec /i RichUpload.msi
で実行する。

2008年12月9日火曜日

word autoopen置換マクロ

以前間違って消してしまったので、備忘録としてこちらに貼っておく。
マクロの名前をautoopen()にすると
ファイルを開いたときに自動的に置換し、保存して閉じてくれるマクロ。
' Macro1 Macro
' 記録日 2008/10/23 記録者 27001122
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "ホチキス止め"
.Replacement.Text = "ホチキス留め"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveDocument.Save
ActiveDocument.Close

2008年12月6日土曜日

access snapshotの中身を検索

グリーティングのために資料を作っているのだが、今まではaccessでデータを抽出した後にエクセルでちまちま加工して作っていた。それを少し工夫してaccessのレポートで似たようなものを出せるようにしたのだが、その際検索ができなくて困っていた。
だが、一旦PDFにすると内部も検索できることが判明、これで問題は解決した。

B2の駄目なところ3

B2を閉じようとしたらもう一つ発見。
4:40ごろB2を終了しようとしたら、
「サーバーがメンテナンス中のため通信ができません。メンテナンスが終わる4:00以降に業務終了ボタンを押して下さい」とか何とか言うメッセージが出た。
とっくに4:00は過ぎているのだが・・・
その後何度か×ボタンを押したら終了できた。

B2の駄目なところ2

今日新たに発見した糞仕様。
出荷したデータを検索し、外部ファイルに出力できるのだが
その際選択肢にある「csvファイル」形式を選ぶと
肝心の伝票番号12桁の下6桁が全て000000になってしまい、問合せができなくなる。

2008年12月5日金曜日

excel セル内改行コードが反映されないときは

セル内改行コードは char(10)。

A1とA2をつないで改行する式の例は

=A1&char(10)&A2

となるが、これが反映されない場合がある。

その時はセルの書式設定で

「折り返して全体を表示する」にチェックを入れる必要がある。

2008年12月3日水曜日

クロネコヤマトの印刷ソフトB2の駄目なところ

・起動が遅い(一回目のみだが、ものすごく遅い)

・更新が遅い(ものすごく)

・文字数制限

・住所を勝手に都道府県/市町村/番地などに分割。分割の仕方が間違っていてエラーが出ることがある。

・サポートセンターに聞かなければ絶対に分からない仕様 

→分類コードにスペースを3つ入れる 

→営業所に追加設定(請求先の追加など)をしてもらった際は、「最新バージョンの取得」を行わないと適用されない。(モジュールは自動更新する癖に)

・会社固有の郵便番号に対応していない

まだまだあるだろうが、とりあえずこんなところで。

2008年12月2日火曜日

オートシェイプから文字がはみ出す

あまりの忙しさに昨日はまた更新できなかった。本日はオートシェイプ。wordでオートシェイプを使うと文字が勝手に改行するのでもう少し文字を入れたいときに困ってしまうのだが、powerpointでは改行せずにオートシェイプを貫通して文字の入力ができる。もちろんpowerpointで作ったオートシェイプをwordに貼ると勝手に改行される。excelではwordと同じ仕様。

ローカルガイドポイント15万

良い区切りですな。 10万達成後、口コミのポイントが5→10ポイントに上がったりしたので 稼ぎやすくはなっている。