ブックの内容をUTF8でCSV出力するマクロ
2021年02月10日
仕事でエクセルファイルを取り込んで、テーブルを作ってCSVに出力するツールを作ることになった。
趣味プログラミングで作る分には1日でできる作業だけど、
詳細な仕様を詰めていくとなかなかこれが大変ということを改めて思い知らされた。
前にプログラマの人が「データインポートは大変だからやりたくない」と言ってたのがよーくわかった。
大変なことを整理してみた。
①仕様をきっちり決めて動作保証の範囲を決める必要がある。
②仕様書・設計書を作りレビューを受ける必要がる。
③動作保証の範囲できっちり動くツールを作る必要がある。
④動かない場合はなんで動かないか利用者に知らせる必要がある。
⑤ツールの試験を行い、仕様書・設計書と差異がないことを確認する必要がある。
⑥試験結果を報告書にまとめてレビューを受ける必要がある。
⑦仕様書・設計書・ツール動作・試験報告書で整合性を取る必要がある。
⑧改修が発生するたびに変更内容を管理し、①~⑦をやり直す必要がある。
ざっくりこんな感じ。仕事でやるプログラミングが10倍の工数とは言ったものだ。
システム開発となるとさらに10倍だとか。
データインポートの何がめんどいって、元データに何を入れられるかわからないから。
文字数制限、文字種制限、想定範囲内か、リストにある内容かなど、
考えられるあらゆるパターンに耐えるのがなかなかしんどい。。。
作りかけのツールは、シフトJISで出力していたけど、
試しに第四水準の文字「墱」を入れたら変換されず「?」に。。。
仕方なくUTF8で出力する仕様に変更。
毎度おなじみのofficeTanaka様のサイトで勉強して、
" "くくりのカンマ区切りCSV出力マクロを作ってみた。
参照サイト
Office TANAKA - ファイルの操作[UTF-8形式のテキストファイルに書き込む]
以下、ソース
趣味プログラミングで作る分には1日でできる作業だけど、
詳細な仕様を詰めていくとなかなかこれが大変ということを改めて思い知らされた。
前にプログラマの人が「データインポートは大変だからやりたくない」と言ってたのがよーくわかった。
大変なことを整理してみた。
①仕様をきっちり決めて動作保証の範囲を決める必要がある。
②仕様書・設計書を作りレビューを受ける必要がる。
③動作保証の範囲できっちり動くツールを作る必要がある。
④動かない場合はなんで動かないか利用者に知らせる必要がある。
⑤ツールの試験を行い、仕様書・設計書と差異がないことを確認する必要がある。
⑥試験結果を報告書にまとめてレビューを受ける必要がある。
⑦仕様書・設計書・ツール動作・試験報告書で整合性を取る必要がある。
⑧改修が発生するたびに変更内容を管理し、①~⑦をやり直す必要がある。
ざっくりこんな感じ。仕事でやるプログラミングが10倍の工数とは言ったものだ。
システム開発となるとさらに10倍だとか。
データインポートの何がめんどいって、元データに何を入れられるかわからないから。
文字数制限、文字種制限、想定範囲内か、リストにある内容かなど、
考えられるあらゆるパターンに耐えるのがなかなかしんどい。。。
作りかけのツールは、シフトJISで出力していたけど、
試しに第四水準の文字「墱」を入れたら変換されず「?」に。。。
仕方なくUTF8で出力する仕様に変更。
毎度おなじみのofficeTanaka様のサイトで勉強して、
" "くくりのカンマ区切りCSV出力マクロを作ってみた。
参照サイト
Office TANAKA - ファイルの操作[UTF-8形式のテキストファイルに書き込む]
以下、ソース
PR
wordの表をエクセルに張り付ける
2021年01月09日
Wordで作った表をエクセルに貼り付けようとすると、崩れる。。。
1セルに2行書かれていると、ほかの列がグループ化されるので、
Word VBAを使ってエクセルに貼り付けるマクロを作成。
1セルに2行書かれていると、ほかの列がグループ化されるので、
Word VBAを使ってエクセルに貼り付けるマクロを作成。
選択セルの文字をカッコでくくる
2021年01月06日
スマホから投稿
wordの表で進捗管理をしていて、予定は日付をカッコでくくるルールにしているんだけど、いかんせんwordだとそのカッコがめんどくさい。
ってことで、wordの表で選択しているセルの文字列を()でくくるVBAを作ってみた。
「Selection.Cells(cnt).Range.Text =」で該当セルの文字列を変更できるけど、選択が解除されちゃって2箇所目でエラーが出る。
Selection.cellsを変数に格納して、ループさせて無事解決。
以下ソース。
wordの表で進捗管理をしていて、予定は日付をカッコでくくるルールにしているんだけど、いかんせんwordだとそのカッコがめんどくさい。
ってことで、wordの表で選択しているセルの文字列を()でくくるVBAを作ってみた。
「Selection.Cells(cnt).Range.Text =」で該当セルの文字列を変更できるけど、選択が解除されちゃって2箇所目でエラーが出る。
Selection.cellsを変数に格納して、ループさせて無事解決。
以下ソース。
エクセルのテーブルで相対参照をする
2020年12月23日
エクセルのテーブルで気づいたので投稿。
表データを扱うとき、見た目のためだけにテーブル機能を使って
1行ごとに色分けをしていた。
テーブル機能を使うと、指定した範囲がデータベースのような感じになって
項目指定もセルのアドレスを指定するのではなく、
テーブル名と列タイトル名で指定することになる。
テーブルを使用している場合に、
「=」と打ってから参照先のセルをクリックして指定すると
以下のように列タイトル名が出てきて勝手に絶対参照になる。
「=テーブル1[@Folder]」・・・@があると同じ行のセル、@がないと全行の意味
Excel 「テーブル」機能のメリット・デメリット概要 | Excel Excellent Technics (excel-excellent-technics.com)
相対参照にするには、クリックで指定せずにアドレス名を直接入力する。
表データを扱うとき、見た目のためだけにテーブル機能を使って
1行ごとに色分けをしていた。
テーブル機能を使うと、指定した範囲がデータベースのような感じになって
項目指定もセルのアドレスを指定するのではなく、
テーブル名と列タイトル名で指定することになる。
テーブルを使用している場合に、
「=」と打ってから参照先のセルをクリックして指定すると
以下のように列タイトル名が出てきて勝手に絶対参照になる。
「=テーブル1[@Folder]」・・・@があると同じ行のセル、@がないと全行の意味
Excel 「テーブル」機能のメリット・デメリット概要 | Excel Excellent Technics (excel-excellent-technics.com)
相対参照にするには、クリックで指定せずにアドレス名を直接入力する。
エラーページ用意してるのに404エラー
2020年12月15日
保守しているシステムで、11月末頃から問い合わせが来た。
スマホからアクセスしたら404エラーが出る。SSL通信は大丈夫だけど、非SSL通信はダメ。
そのシステムは、URLに誤りがあると、システムで用意したエラーページを表示する仕様になっているが、非SSLだとブラウザにはじかれるみたい。iOSとAndroidの両方で申告あり。
偶然にも部内で同じ症状の人を発見!
スマホからアクセスしたら404エラーが出る。SSL通信は大丈夫だけど、非SSL通信はダメ。
そのシステムは、URLに誤りがあると、システムで用意したエラーページを表示する仕様になっているが、非SSLだとブラウザにはじかれるみたい。iOSとAndroidの両方で申告あり。
偶然にも部内で同じ症状の人を発見!