久しぶりの更新です。
調べたら最後に更新したのが昨年の8月でしたので、約8ヶ月ぶりのようです。。

このブログの存在を忘れかけていたところでした。
忙しく更新する暇もないという訳ではなかったのですが、文章を書くのが苦手でして、1つの記事を書くのに1時間もかかってしまう場合があり、自然と避けていたのかも。。

この8ヶ月の間に政権が変わり、アベノミクス効果なのか株価が急上昇し、それに伴い株式投資興味を持つ人が多くなったのかもしれないですが、株関係のエクセルVBAの作成依頼がお陰様でコンスタントにありまして、それに時間を費やしていたのも理由です。

私自身、最近はほとんど株式投資をしていませんので、このところの株高の恩恵は全く受けておりませんが、間接的に恩恵を受けさせてもらっています。

話が変わり今回、以前から公開していた株損益計算シートを久々に更新しました。
前バージョンは手抜きで作成したものなので、ほとんど役立たずの代物でしたが、今回少し力を入れてバージョンアップというよりほぼ新規に作成し直しました。

現在値をWeb上から取得・更新する機能はそのままに、保有株の評価損益、決済した株の確定損益を一目で把握できるように致しました。
また損益ランキング上位5位までを表示する機能を追加しております。

急ぎで作成したものなので、不具合等があるかもしれませんが、その際はお伝えください。
ご存知の方もいると思いますが、先週の8/15よりYahoo株価一括取得ツールでデータ取得しようとすると「アクセスが拒否されました」とエラーが表示され、データの取得ができなくなってしまいました。

原因はと言いますと、今までデータを取得していたページが突如公開停止されてしまったからです。
元々そのページは、ずっと前のYahooファイナンスの画面で、直接URLを叩けば今まででも開くことができましたが、通常にリンクを辿ってはアクセスできないページだったので、いつかはこうなるであろうと予測はしていました。

しかし、いざ修正するとなると、どのページからデータを取得すればよいか調べたり、処理を1から作り直す必要があったりと大慌てでした。

何とか修正はできましたが、以前のバージョンと比べるとかなり遅くなってしまいました。申し訳ございません。。
今までは裏技的な事をやって高速にデータ取得できましたが、修正版では裏技が使えなくなってしまいましたので残念です。

ただ四本値のみは何とか高速で取得できる方法を見つけましたので、新バージョンでは四本値のみ取得と全株価情報取得の2パターン用意しています。

新バージョンはまだ不安定な部分があるようですので、何かありましたらお伝えください。

ホームページのサイト名を「株&副業でハッピー計画!」からシンプルな「株Web」に変更してみました。

当初は株だけでなくオークションやアフィリエイト等の副業の話題も扱っていたため、サイト名に副業をいうキーワードを含めていましたが、サイト内容の構成を徐々に株をメインにして、副業に関する事は縮小していったため、サイト名とサイト内容がマッチしていないという事と個人的な環境変化もあり変更してみました。

また、株と副業という検索キーワードで、サイトを訪れる人も結構いまして、求めていた内容と異なっており、ガッカリする人も多くいると思いまして。

サイト名の変更により、検索順位も大きく低下するのではと心配なのですが、元々大したアクセス数もないので、この際と思い変更してみました。

株Webという新しいサイト名ですが、特に意味はありません(笑)

色々と考えてみたのですが、思いつく名前のほとんどが既に使用されており、サイトURLがkabu-webなので、シンプルに株Webでいいやという事で決定!

「株Web」をよろしくお願いいたします。

前回からの続きです。

色々と調べてみると、Excelで作成したVBA付きのファイルをOpenOfficeで開いても、コード自体は残っていることがわかりました。

ただコードを見てみると、すべての行の頭にREMというキーワードがついており、どうやらこのREMキーワードはコメント行を意味するらしいので、REMキーワードを全て削除してみました。

この状態で実行すると、今度は別のエラーが発生。。

またまた調べてみると、細かい部分でExcel VBAと表記方法が異なるらしい。

たとえばExcelでは今開いているワークブックは、ThisWorkbookと書きますが、OpenOfficeではThisComponentと書きます。

またセルの値を参照するには、Excelの場合、ThisWorkbook.WorkSheets(1).Cells(1,2).valueと書きますが、OpenOfficeの場合は、oSheet.getCellByPosition(1, 0).string と書きます。

Excelの場合はCells(行番号,列番号)と書きますが、OpenOfficeの場合はgetCellByPosition(列番号,行番号)と表記し、行番号と列番号が入れ替わり、番号は1からではなく0から始まります。

また文字列の値を取得するには、stringと書きますが、数値を読み取るにはvalueと書くみたいでして、文字型で宣言した変数に、valueで取得した値をセットしようとしており、ずっとこの部分でエラーが発生していたので、頭を悩ませていました。

これらを全てOpenOfficeのルールに合わせて修正したことにより、少し苦労しましたが無事動作させる事ができました。

今回の依頼内容は、シンプルな処理でしたので、何とか対応する事ができましたが、コード量が多くちょっと複雑な処理ですと、そう簡単にはいかなそうです。

 

先日、EXCEL VBA作成サービスにおいて、シート上に入力されている1000個以上のメールアドレスから、ある条件に該当するメールアドレスだけを抽出する機能の作成依頼を受けました。

機能的にはシンプルなものなので、作業量も少なく、比較的短時間で作成する事ができ、依頼のあった翌日にお渡しする事ができました。

がしかし送付して直ぐに、実行するとエラーが発生するという連絡が、、。

かなりシンプルな処理なのでエラーが発生するわけがないと思いつつ、添付して頂いたエラー画面のキャプチャを見ると、なんだか見馴れないエラーメッセージが、、。

通常のVBAの実行時エラーではなく、「UNKNOWNのスクリプト UNKNOWNの実行中にScripting Frameworkエラーが発生しました」と書かれている。

「なんじゃこの見た事がないエラーは...」とよく見てみると、メッセージ画面のタイトル部にOpenOffice.orgのエラーと表示されているので、もしかして通常のEXCELではなくOpenOfficeを使用しているのでは?と依頼者に確認するとやはりOpenOfficeを使用しているという事でした。

OpenOfficeでもVBAにある程度対応しているという内容をどこかで見た事があったような気がしましたが、実際にOpenOfficeには触れた事がないので、とりあえずダウンロード(もちろん無料)して、インストールをしてみました。

早速試してみると、やはり依頼者の方と同じエラーが発生。

色々と調べてみると、マクロを含んだExcelファイルをOpenOfficeで開いても、そのままでは使えないらしい事が判明、、。

次回へと続きます。

 

ホームページ

スポンサードリンク