エクセルマクロなブログ

エクセル マクロ(Excel VBA)の作成・制作に携わっています。

◆お問い合わせはこちら◆

物品管理システム

ここのところずっとかかり切りで作成していたシステムが
カットオフしました。

簡単に言えば、固定資産の管理システムのような感じ
なのですが、お客様の会社の台帳の様式などが
ありますので、その辺への対応に手をかなりさきました。

エクセルマクロは、エクセル持っている方ならすぐに
使える便利な魔法の妖精ペルシャなのですが、それを
手なずけるのはなかなか難しいモノがありますね。

という冗談はさておき、私も単価の安い仕事が多い
関係で、貧乏暇無しです。

今回のシステムも足下見られまして、厳しい厳しいと
かなり、心の中では言っていたんですけど、まぁ
お客様にはそのようなことは言えませんので、
かなり勉強させていただきました。

同じようなシステムでしたら、お安くカスタマイズして
差し上げることができますので、ぜひ、物品管理システムを
ご用命の方は、お問い合わせください。
JUGEMテーマ:ビジネス


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

オークション 入金管理システム


昨日完成したのは、Yahoo!オークション用の
入金管理システムです。

ゆうちょ銀行、イーバンク銀行、ジャパンネット銀行
の三行の入金データに対応しています。

それを取り込んで、売掛データとマッチングを行い
未入金ならば、定型文をメールするというモノです。

入金消し込みが、結構面倒でしたが、上手くいきました。

また、売上データの簡易分析機能も備えています。

実行速度も、個人商店レベルならば問題ないと思います。


JUGEMテーマ:ビジネス


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

人気は自動売買マクロ関連の記事

アクセスログを見るとIEを操作して自動売買関連の
記事に人気があるようです。

まぁ日本の証券会社はAPIを公開してるところは
ほとんどないですから、自動でやろうと思ったら
IEでサイトにアクセスしてやる方法に自然なってしまう
訳ですね。

バックアップサイトとかモバイルサイトがあればいいですけど
ない会社は面倒です。

作成できないことはないですけどその手間は膨大です。

今、トレーダーズ証券に申請してますので、もう少ししたら
トレーダードスタジアムの先物の自動売買の方法の研究が
始められると思います。

まぁどれくらいの難易度なのか、どういうことができるのか
詳細不明ですけど。

ぜひ一度お問い合わせ下さいませ。


JUGEMテーマ:ビジネス


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

VistaとExcel2007とエクセルマクロ(VBA)

今日はWindowsVista、Office2007に
はじまった新しい流れについて書いていこうと
思います。

いまいち普及していなくてMS自身も
失敗作だったと認めたとか認めないと
かいうVistaも、SP1がでて段々普及
していくのかもしれません。

ExcelVBA(エクセルマクロ)もOffice2007では、
噂されていたVisualBasic.net系のものになるとかいう
ことはなく、相変わらずVB6系であり、仕事を
していく上ではメニュー関係がリボン化
されたというユーザーインターフェイスの
大きな変更がもっぱらの問題であります。

ファイルの方も標準形式はOpen XMLに変わりましたが
これも旧バージョンとの互換ファイルモードがあり
Office2007SP1を当てる前は遅くて使い物にならなかった
互換モードもSP1適用後は十分使用に耐える
ものになり、特に問題はないです。

2007のフォントやセルのスタイル変更機能は
拡張されているため、互換モードではそれが
反映されないこともたまにある点は注意です。
まぁそれも保存時に注意ダイアログがでますので
問題ないといえば問題ないですが、その反映
されないものがどのセルにあるかとか教えて
くれるともっと便利になるんですけどね。

旧バージョンのお仕事も2007で行っても
特に問題ないようです。

新バージョンといえばインターネット
エクスプローラーも7になってタブ化され
VBで操作する際に少しコツがいるように
なりました。
まぁ特に問題ないといえば問題ない
ですけど。
IE8もベータがもうでてるようですが
また変わるんでしょうかね?

Vista環境のお客様はまだ少ないんですけど
今のところ問題は出ておりません。

しかしながらVistaで搭載されたユーザーアカウント
コントロール(UAC)には要注意です。

ちょっとテストしていて気づいたんですが、shell関数で
システムディレクトリにdllなんかコピーしたりする
ことはVBAではできなくなりました。
Vistaでは例え管理者アカウントでログインしていても
プログラムは一般ユーザー権限で起動するそうです。

管理者権限でソフトを起動するにはソフトのアイコンを
右クリックして「管理者として実行する」を選択しないと
いけません。

コマンドプロンプトも普通に起動しただけではシステム
ディレクトリを操作することは不可能です。

いろいろ調べたんですけどVBでコマンドプロンプトを
管理者権限で実行させることはできないみたいです。

マクロのファイルを右クリックしても「管理者として
実行する」は出てきませんのでその方向でも難しいようです。

当面、お手間をおかけしますがdllやocxの登録は
お客様に手動で行っていただくことになりそうです。

マニフェストファイルというのを使えばUACが操作
できるような情報を見つけましたが、まだ詳しいことは
分かっていません。
(どうもマニフェストファイルは.net環境がないと
作れないようです)

ここら辺はなかなか難しいようであります。

とりあえずVB6はSP6が最終サービスパックで
VistaでもVB6は正式にサポートされているので
UACの件以外は当分問題はないといえばないと言えます。

ぜひ一度お問い合わせ下さいませ。


JUGEMテーマ:コンピュータ


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

webQueryを連続実行時のエラー

今回ご注文いただいたのはwebQueryを使ってyahooファイナンスから
複数銘柄の時系列データを取得し、その相関係数一覧表を作成
するというマクロでした。
係数が高いものは色づけも行います。

CORREL(配列1,配列2)という相関係数を出すワークシート関数
(統計関数)を初めて知ったのですが、データさえそろえれば
特に問題はありません。

とりあえず3銘柄で期間1年でテストしてみてOKだったので
お送りしてみたのですが、お客様の方で10銘柄、期間は
3年というテストをされたところ、webQueryのルーチンで
エラーが発生していました。

いろいろコードを直してみましたが上手くいきません。
ググってみるとIE7はキャッシュが1024MBなので
連続してwebQueryを実行するとキャッシュがいっぱい
になってエラーがでるという情報を得ました。

キャッシュを削除する方法はどうも手動でというのが
ほとんどの回答のようで、どうしたものかと悩みましたが
なんとかコード中で削除する方法を発見しまして
納品に至りました。

ぜひ一度お問い合わせ下さいませ。



JUGEMテーマ:コンピュータ


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

自動売買関係のマクロ

サンプルでSBI証券のの自動売買マクロを公開してますが
いろいろお問い合わせを頂き、作成していった結果、現在
SBI証券、楽天証券、カブドットコム証券の3つで同様の
ことができるようになりました。

株の現物だけでなく先物にもSBI、カブドットコムは
対応しています。
まぁ楽天も自分では先物口座はないですけど、そこはなんとか
なります。

あと自分が持ってる口座は三菱UFJ証券、岩井証券、あと不祥事があった
丸八証券がありますが、三菱UFJ証券はモバイルサイト自体がないし
残りの二つも携帯からしかアクセスできないようです。
まぁこれらの証券会社は需要自体がないでしょうけど。

楽天証券はマーケットスピードのRSSで四本足を取得するマクロも
作成しております。

これで買いや売りのシグナルを出すことが可能になりました。
楽天証券に口座を持っていてマーケットスピードが使えないと
その利用価値はないですけど。

ぜひ一度お問い合わせ下さいませ。


JUGEMテーマ:ビジネス


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

SBI証券(旧イートレード)自動売買マクロ バージョンアップ

サンプルでイートレの自動売買マクロを公開していましたが
イートレもSBIイートレード証券を経てSBI証券となり
その関係でURLとか変更になりましたので、前のサンプル
ではログインすら出来ない状態になっていたようです。

で、この前のお客様から修正依頼がありましたので対応
しました。

サンプルの方もそれに伴い修正をしました。

これで、ログイン→指定銘柄の指定数を指し値で売り
というサンプルが復活したかと思います。

お客様からは前回の指定銘柄を指定数成り行き買いする
機能に加え、朝買い注文を出した銘柄をすべて成り行き売り
する機能を追加して欲しいと言うことでしたので、対応
いたしました。

イートレって馴染みがあるのでSBI証券ってなんか違和感
がまだあるんですけど……。そのうちYahooも提携解消
して名称変更するのでしょうか?
まぁそんなことはないと思いますけど。

SBI証券になってからまだ一度も取引したことが
ありません。

とりあえず入庫キャンペーンをしてる楽天と三菱UFJに
株を移すことにしました。
どうせ塩漬け株なので。まぁそのうち上がってきたら
またSBIの方に戻して売ろうかと思います。

サンプルはこちら


JUGEMテーマ:ビジネス


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

イートレード自動売買マクロ

サンプルでイートレの自動売買マクロを公開していますが
はじめて実際の自動売買を行うマクロを受注しました。

サンプルは自分も持ってる銘柄を指し値で売るしかできない
ものですが、今回の注文はリストに指定した50銘柄を
指定株数で成行買いするというものでした。

買い注文は指定時刻に入れるようになっています。

リストに銘柄と購入株数を記入し、指定時刻を設定
すればあとは自動成行買いを行います。
ユーザーネーム、ログインパスワード、取引パスワードも
当然ながら設定が必要です。

資金が足りなくなれば注文をそこで終了する機能や
リストに銘柄が設定なければ時刻を指定しても
買い注文は出さない機能、またリストの銘柄を
即時成行買いする機能もあります。

今まで培ってきたIE操作系の技術を駆使して結構早く
開発できました。

最近はIE操作系のマクロの注文はありませんでしたが
このブログにはIE操作 VBAとかそういうキーワードで
来られる方も多いようです。

今まではブログに自動投稿するマクロとかそういう
ブログ系が多かったですね、IE操作系のマクロでは。

イートレのマクロサンプルは、サンプルマクロや
フリーのCGIなど配布ファイルの中では一番多く
ダウンロードされてるんですが、今回初めて
実際の売買マクロの注文があったわけです。

アイディアと資金があれば自分で自動売買システム作って
ほったらかしでお金ザクザクとかも可能なのかも
しれませんが、アイディア特に湧かないし、それに
お金がないですからそういうわけにはいきませんね。

ぜひ一度お問い合わせ下さいませ。


JUGEMテーマ:コンピュータ


JUGEMテーマ:ビジネス


JUGEMテーマ:インターネット


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

はまりました……

今、やってるお仕事で他のブックから情報を取り込む部分が
あるんですけど、そこでちょっとはまりました。

そのブックを開いてみると「ほげ ほ げげ」という感じで
一つ全角スペースがあって、その後いらないと思うんですが
なぜか半角スペースがあるデータセルの情報を取り込むと
「ほげ ほ?げげ」と半角スペースが?に化けるんですよ。

なんじゃこりゃってな感じで不具合修正にかかったんですが
これがなかなかはまりました。

一文字一文字フォントを見ていくと、問題の半角スペースの
フォントが(他はMSゴシックなのに)Hiragino Kaku Gothic Pro
とかいうあまり聞かないフォントなんですね。

元データはブラウザからコピペしたもののようなので
そのページで指定していたフォントなんでしょう、たぶん。

macのフォンとかなぁと思って調べてみたんですが、有料フォント
であることは分かりましたが、それ以上はなんか分からず。

件のブック上で問題のセルをコピペする分には文字化けは
起こらないんですが、そのセルをコピーしてテキストエディタに
コピペすると半角スペースが?に文字化け。

VBのコードで処理中の内容をデバックプリントしてみると
やはり?に文字化けしてます。

じゃあ?をコード上でどうにかしてやればいいかと

If Mid(str,i,1)="?" then
hoge
End If

とかしてやるんですがhogeの処理が走りません。

悩みまくってGoogleで「文字化け スペース」
「Hiragino Kaku Gothic Pro 文字化け」
「制御文字 文字化け」
とかしていて、とりあえずサイトで使われそうな
CRLFとかTABとかが謎の半角スペースの正体
じゃないかとやってみましたが、すべてダメ。

「制御文字 VB」でググった結果最初に出てきた
「文字のASCII(アスキー)コードを得るには?[C#、VB] − @IT」
を見て、問題の半角スペースのアスキーコードを取得してみて
それを決め打ちで判定かけたらhogeの処理が走るように
なりました。

で、アスキーコードは63だったんですが、63というのは
「?」のことなんですね。
じゃあなんでさっきの判定がアウトなんだよぉ……って
感じですが、とりあえず不具合は直ったので良しとしましょうか。

今日はあと自分の別サイト用に指定時刻にサイトの中身が
更新されるCGIを作ったりしていました。
こっちの方はそれほどはまらなかったんですけど……。

ぜひ一度お問い合わせ下さいませ。


JUGEMテーマ:コンピュータ


エクセルマクロ(ExcelVBA) | - | trackbacks(0)

CSV2excel

マクロのサンプルを一個公開しました。

CSVファイルをエクセルに展開するマクロです。マスタのシートで展開位置や展開行なんかを指定してから、CSVファイルを選択して開くと(複数選択可能です)エクセルにマスタの指示通りに展開していくというモノです。

手作業でCSVのデータをエクセルに貼り付ける作業を省力するのが目的という感じで作成しました。当然これの応用としてエクセルの内容を他のエクセルにマスタの指示通り展開するというモノも以前お仕事で作ったと思います。

マクロというモノは手作業でやれることはだいたい全部自動化可能です。

コピー&ペースト、データの転記でも、データの抽出でも、一定の決まりがあって作業されていると思います。それさえ整理されていれば、マクロでいくつファイルがあっても一編に処理が完了します。

セルの中のデータの中から条件に従ってデータを抽出し、他のセルに書き出したり、セルとセルの文字を条件に従って結合してみたりもできます。

ぜひ一度お問い合わせ下さいませ。


JUGEMテーマ:コンピュータ


エクセルマクロ(ExcelVBA) | - | trackbacks(0)