htmlやjavascriptの知識が必要になってきますよね。
で、しょうがないなあと面倒だけどまあ基本的なところを見ればいいやと思って見ていたら・・・案外昔勉強していて途中で挫折した知識が残っていてびっくりしました(笑)
やっぱり若い頃の記憶っていうのはよく定着していますね。今この歳でhtmlだなんだって1から勉強していたら本気でギブアップしました僕はそんな根性ない(笑)
javascriptってJAVAに近いんですよね?確か。で、C#とかも見ていて思い出したからこの辺にも繋がるんだろうし復習して無駄はないかなと思ってちょっと楽しい気分になりました。
もちろん家に帰ったらゲームとかしちゃうんですけどね(笑)
2016年11月26日土曜日
インデックスが有効範囲にありませんエラーがすっかりおなじみ
これがおなじみになっただけでもずいぶんと成長したなと自分を褒めてるんですけどね(笑)
このエラーはVBAやってると本当に頻繁に見ます。
多分中級者より上の人は見ないんじゃないかと思う。でも、僕のような駆け出しの初心者は本気でこれが出まくります(笑)
このエラーが出るっていうのは要は対象がありませんよって意味・・・だと自分では思ってます。違ったとしてもそっとしておいてください(笑)初心者のうちからあまり例外や少ない事例を詰め込んでも嫌になるだけだから漠然とあってれば僕は充分です。
たとえばそのシートをアクティヴにするという命令を出したのに肝心なそのシートが無かったりとかそんなんで起きます。確か、非表示にしててもこれ出たかもしれない。
シートの非表示とか初心者はあまりやらない方がいいです。一気に面倒くさくなるから(笑)
で、今まさにこのエラーが出ているのだけれど・・・・
マクロを動かしているのは別のブックで、それとは別のブックをアクティブにしようとして
workbooks("○○.xlsx").activate
ってやるとここで「インデックスが有効範囲にありません」って出るんですよね。
それで困るのは出ないときは出ないんです、普通にそのまま動いちゃう(笑)
これが本当に困るんですけど・・・。100%動かない、問題の個所を修正したら100%と正常に動作するっていうなら明確なんだけれど、たまに動いて、大事なとこで動かないでってやられると初心者にはどうにもならない。
自分だけが使用するものだったらそれでもいい、というか人に使わせるものを作ろうとすると一気に労力が5倍くらいになりますよね(笑)
自分だったらこんなトラブルが起こったらもうここは手作業でやるからいいんですよ。
でも人、とりわけエクセルの知識がほとんどない人にも使ってもらわなきゃいけないとなると・・・・もう厳しいです。
このエラーはVBAやってると本当に頻繁に見ます。
多分中級者より上の人は見ないんじゃないかと思う。でも、僕のような駆け出しの初心者は本気でこれが出まくります(笑)
このエラーが出るっていうのは要は対象がありませんよって意味・・・だと自分では思ってます。違ったとしてもそっとしておいてください(笑)初心者のうちからあまり例外や少ない事例を詰め込んでも嫌になるだけだから漠然とあってれば僕は充分です。
たとえばそのシートをアクティヴにするという命令を出したのに肝心なそのシートが無かったりとかそんなんで起きます。確か、非表示にしててもこれ出たかもしれない。
シートの非表示とか初心者はあまりやらない方がいいです。一気に面倒くさくなるから(笑)
で、今まさにこのエラーが出ているのだけれど・・・・
マクロを動かしているのは別のブックで、それとは別のブックをアクティブにしようとして
workbooks("○○.xlsx").activate
ってやるとここで「インデックスが有効範囲にありません」って出るんですよね。
それで困るのは出ないときは出ないんです、普通にそのまま動いちゃう(笑)
これが本当に困るんですけど・・・。100%動かない、問題の個所を修正したら100%と正常に動作するっていうなら明確なんだけれど、たまに動いて、大事なとこで動かないでってやられると初心者にはどうにもならない。
自分だけが使用するものだったらそれでもいい、というか人に使わせるものを作ろうとすると一気に労力が5倍くらいになりますよね(笑)
自分だったらこんなトラブルが起こったらもうここは手作業でやるからいいんですよ。
でも人、とりわけエクセルの知識がほとんどない人にも使ってもらわなきゃいけないとなると・・・・もう厳しいです。
2016年11月20日日曜日
エクセルVBAからメールを送れるようにしたい
アプリを作っていて思いついたのだけれど、そもそもが会社にいなくても勝手に起動してタスクを実行してくれるプログラムだから、実際に動いてる時はそばで監視できないんです。既製品だったらちゃんと動くという期待が当然出来るけれど素人同然の自分が作成しているしイマイチ不安だなあと思っていて思いつきました。
メインプログラムの最後にメール送信するサブモジュールをくっつけておけば少なくともそこまでは動作してたという確認が出来るのでこれは良いアイデア!!と思いぐぐったらありました。
エクセルVHAからメール送信のDLL
で、僕の場合GメールでやろうとしてるのでGメールのSMTPサーバ名やポート番号なども調べるとこのページが出てきました。
実はまだ実証してないです。DLL必要という事は各端末にこれ入れてもらわなきゃいけないという事で多分それは難しいかなと思って。だから自分のものだけにカスタマイズして入れようかなと最後の最後にくっつける感じで。
同様に自動実行プログラムが実行中の間に音楽を流すというアイデアもあったのですが、実行するとやけに重くなるのでちょっと保留。もしかすると自宅のPC環境のせいかもしれないし。
メインプログラムの最後にメール送信するサブモジュールをくっつけておけば少なくともそこまでは動作してたという確認が出来るのでこれは良いアイデア!!と思いぐぐったらありました。
エクセルVHAからメール送信のDLL
で、僕の場合GメールでやろうとしてるのでGメールのSMTPサーバ名やポート番号なども調べるとこのページが出てきました。
実はまだ実証してないです。DLL必要という事は各端末にこれ入れてもらわなきゃいけないという事で多分それは難しいかなと思って。だから自分のものだけにカスタマイズして入れようかなと最後の最後にくっつける感じで。
同様に自動実行プログラムが実行中の間に音楽を流すというアイデアもあったのですが、実行するとやけに重くなるのでちょっと保留。もしかすると自宅のPC環境のせいかもしれないし。
2016年11月17日木曜日
エクセルでマクロを組んでもいつもは正常に動かない!?
原因が分かってると対処のしようがあるんですけどね、なにもいじってないのに、コードは同じなのに違う実行結果になるときが一番ストレス溜まるしプログラム書いてて嫌になります。
それでも経験から得た対処の方法を備忘録として残しておくと・・・
とりあえずステップ実行してみる。
該当マクロのところにカーソルを置いてF8で一行ずつ実行していってみる。これが本当に便利でかなりいろいろバグや不具合が取り除けます。
いらない行を削除する、コードの記述を各ステートメントごとにきっちりインデントする。
これは今回痛感しました。if節やfor節の入れ子が上手くいってないとビックリするくらいヘンな動きします(笑)今回はselect caseのいくつかのステートメントが飛び出していたらそこが実行されないでびっくりしました(笑)
なんというかそれぞれのモジュールごとにかなり分かりやすいようにコメントを残してさらには囲っておく。
今回///////////これで囲いながら作ったらあとでかなり見やすいしメンテナンスしやすかったです。
なんでもそうだけどメンテナンス性を高めたいならなるべく可能な限りシンプルにするべきかと思います。あとパーツごとに分ける。
変数や宣言、スコープなど基本的な事をしっかり踏まえて作る。
このサイトをさっき読んでいて、本当にこの辺の事を頭に入れてないと余計な時間とストレスがかかります。僕はブレイクポイントとイミディエイトウィンドウは全然使いこなせていないのだけれどこのへんも上手に使えばさらにストレスなく楽しくプログラミング出来るのかも。
もう本当に、こんなのが作りたい!!→あ、こんな感じにすれば実現できるかな?→コードが閃いて一気に書く。ここまでは本当に楽しいのだけれど、そのあとの不具合を直していくのがどうにもならないくらい苦痛で嫌いです。これがなければ趣味としてちょっとした開いてる時間にやったりして捗るのだけれど。
ひとつつぶす、また動かない、ひとつ潰す、今度は関係ないところが動かないの繰り返し。
まあでもやはり1回作った次の2つ目は自分では気づかないけれど各段にレベルアップしています。そして1度作ったモジュールというかサブルーチン?は自分のライブラリにして何度でも利用できるのでそれはすごい快感(笑)
それでも経験から得た対処の方法を備忘録として残しておくと・・・
とりあえずステップ実行してみる。
該当マクロのところにカーソルを置いてF8で一行ずつ実行していってみる。これが本当に便利でかなりいろいろバグや不具合が取り除けます。
いらない行を削除する、コードの記述を各ステートメントごとにきっちりインデントする。
これは今回痛感しました。if節やfor節の入れ子が上手くいってないとビックリするくらいヘンな動きします(笑)今回はselect caseのいくつかのステートメントが飛び出していたらそこが実行されないでびっくりしました(笑)
なんというかそれぞれのモジュールごとにかなり分かりやすいようにコメントを残してさらには囲っておく。
今回///////////これで囲いながら作ったらあとでかなり見やすいしメンテナンスしやすかったです。
なんでもそうだけどメンテナンス性を高めたいならなるべく可能な限りシンプルにするべきかと思います。あとパーツごとに分ける。
変数や宣言、スコープなど基本的な事をしっかり踏まえて作る。
このサイトをさっき読んでいて、本当にこの辺の事を頭に入れてないと余計な時間とストレスがかかります。僕はブレイクポイントとイミディエイトウィンドウは全然使いこなせていないのだけれどこのへんも上手に使えばさらにストレスなく楽しくプログラミング出来るのかも。
もう本当に、こんなのが作りたい!!→あ、こんな感じにすれば実現できるかな?→コードが閃いて一気に書く。ここまでは本当に楽しいのだけれど、そのあとの不具合を直していくのがどうにもならないくらい苦痛で嫌いです。これがなければ趣味としてちょっとした開いてる時間にやったりして捗るのだけれど。
ひとつつぶす、また動かない、ひとつ潰す、今度は関係ないところが動かないの繰り返し。
まあでもやはり1回作った次の2つ目は自分では気づかないけれど各段にレベルアップしています。そして1度作ったモジュールというかサブルーチン?は自分のライブラリにして何度でも利用できるのでそれはすごい快感(笑)
2016年11月8日火曜日
VBA 行の挿入
Rows.Insert メソッドを使う。
1行挿入するならRows(1).Insert
2行挿入するならRows(2).Insert
3行挿入するならRows(3).Insert
4行挿入するならRows(4).Insert
1行挿入するならRows(1).Insert
2行挿入するならRows(2).Insert
3行挿入するならRows(3).Insert
4行挿入するならRows(4).Insert
VBAをマスターして人生変えたい!!
というかそのくらいの勢いで自分を奮い立たせて頑張らないと家に帰ると本当にやらない(笑)
加えてブログで衆人環視的にやらないと・・・、いやいいわけですけど肉体労働を10時間以上してそこから家でもこういうのって本当にきついんですよ?もう若くないし(笑)
さて、2週間ほど放置したらすっかり忘れてしまった(笑)
もういつもの事だけど・・・。
なんでこういうのって時間開くと綺麗さっぱり忘れちゃうんだろう。
それがわかってるから自分なりに結構細かくコメント残してるんだけど・・・
そのコメントが意味不明(笑)
オブジェクトとかその辺もブログにメモしておこうと思ったのだけどすっかり忘れちゃったよ(笑)
とりあえずHTMLやjavascriptなんかもやらないといけないのだけどこれは必要最低レベルのものを納品するには優先順位下がるから後回し!!
ソースを読んでいて面倒なのいちいち例外処理記述されてるじゃない?まあしていて当然なのだけど、理解しようとしている人間が読むと本当に面倒。
ブロックブロックごとにわけてくっつけたり必要だったらくっつけなかったりしてやっていきたいんだよな。ifよりcaseで条件分岐するのが好き。
forをいりこ10個くらい作ったら修正してる時にどこがどこだかわかんなくなったのは大きな反省点。ちゃんとインデントやんないと本当に分からなくなる。
あとでいろいろ流用できるように個人の標準モジュール集を作ってるのが割と快感(笑)
加えてブログで衆人環視的にやらないと・・・、いやいいわけですけど肉体労働を10時間以上してそこから家でもこういうのって本当にきついんですよ?もう若くないし(笑)
さて、2週間ほど放置したらすっかり忘れてしまった(笑)
もういつもの事だけど・・・。
なんでこういうのって時間開くと綺麗さっぱり忘れちゃうんだろう。
それがわかってるから自分なりに結構細かくコメント残してるんだけど・・・
そのコメントが意味不明(笑)
オブジェクトとかその辺もブログにメモしておこうと思ったのだけどすっかり忘れちゃったよ(笑)
とりあえずHTMLやjavascriptなんかもやらないといけないのだけどこれは必要最低レベルのものを納品するには優先順位下がるから後回し!!
ソースを読んでいて面倒なのいちいち例外処理記述されてるじゃない?まあしていて当然なのだけど、理解しようとしている人間が読むと本当に面倒。
ブロックブロックごとにわけてくっつけたり必要だったらくっつけなかったりしてやっていきたいんだよな。ifよりcaseで条件分岐するのが好き。
forをいりこ10個くらい作ったら修正してる時にどこがどこだかわかんなくなったのは大きな反省点。ちゃんとインデントやんないと本当に分からなくなる。
あとでいろいろ流用できるように個人の標準モジュール集を作ってるのが割と快感(笑)
2016年10月2日日曜日
88サーバserverの設定
契約しお金の決済が終わるとすぐにメールが送られてきます。
それにファイルが添付してありまして解凍すると
「サーバ情報」なるテキストファイルになります。
サーバのURL,wordpressのURL、FTP情報、メールアドレス管理画面情報、DB情報、ネームサーバ情報などなど必要な事が簡潔に記してあります。
あるのですけどね・・・・
僕みたいなこれがはじめてのレンタルサーバ!独自ドメイン!!って人にこれじゃさっぱりわからんのですよ!!??(笑)
ぐぐってもあんまり情報ないし、めっちゃ苦労しましたがこれから88サーバでやろうとしてる人の助けにちょっとでもなればと備忘録を残します。
※なお、記載に間違いがあっても責任取れません(笑)
最初にネームサーバを設定しなきゃいけないようです。
僕みたく別のところ、まあバリュードメインなのですが(笑)別のところでドメインを入手しドメイン持ち込みで来るとちょっとややこしいのかも。
そのドメインを買ったところのサイトに行って設定しなきゃいけないんですね。
僕の場合はバリュードメインに行ってネームサーバの設定というページで
1つめと2つめのDNSをサーバ情報に載っていたdns1,dns2に変更。
※もし間違っていたら大変だから元の情報はメモっといたほうがいいのかもしれないです。
それでワードプレスにアクセスしようとサーバ情報にあったワードプレスのURLにアクセスしても出来ないんですよ!?確か契約の時にワードプレスをプリインストールしてもらってるはず・・・CMSインストールとか言うボタン押してもインストール失敗するし・・・。
これで焦っちゃって悪戦苦闘しつつも犬の散歩行ったりしてたのですが(笑)
結論からいってネームサーバを変更したらしばらくアクセスできなくなるのかも。
2時間くらいしたらアクセスできました(笑)
でもこれでまた大変で
「5分でできるWordPressの有名なインストールプロセスへようこそ!」
なんて日本人の僕には何?何なの!?ここはどこなの!?みたいな文章が出てまたびびりまくり(笑)
サイトのタイトル、ユーザー名、パスワード、メールアドレスを入力し「wordpressをインストール」ボタンを押したら普通にインストールしワードプレスの管理画面になりました。ここで入力する内容は88サーバのユーザ情報とは全く別で大丈夫です。
あとからいくらでも修正が出来るようだし、それなりに考えて入力すればOKでしょう。
それにファイルが添付してありまして解凍すると
「サーバ情報」なるテキストファイルになります。
サーバのURL,wordpressのURL、FTP情報、メールアドレス管理画面情報、DB情報、ネームサーバ情報などなど必要な事が簡潔に記してあります。
あるのですけどね・・・・
僕みたいなこれがはじめてのレンタルサーバ!独自ドメイン!!って人にこれじゃさっぱりわからんのですよ!!??(笑)
ぐぐってもあんまり情報ないし、めっちゃ苦労しましたがこれから88サーバでやろうとしてる人の助けにちょっとでもなればと備忘録を残します。
※なお、記載に間違いがあっても責任取れません(笑)
最初にネームサーバを設定しなきゃいけないようです。
僕みたく別のところ、まあバリュードメインなのですが(笑)別のところでドメインを入手しドメイン持ち込みで来るとちょっとややこしいのかも。
そのドメインを買ったところのサイトに行って設定しなきゃいけないんですね。
僕の場合はバリュードメインに行ってネームサーバの設定というページで
1つめと2つめのDNSをサーバ情報に載っていたdns1,dns2に変更。
※もし間違っていたら大変だから元の情報はメモっといたほうがいいのかもしれないです。
それでワードプレスにアクセスしようとサーバ情報にあったワードプレスのURLにアクセスしても出来ないんですよ!?確か契約の時にワードプレスをプリインストールしてもらってるはず・・・CMSインストールとか言うボタン押してもインストール失敗するし・・・。
これで焦っちゃって悪戦苦闘しつつも犬の散歩行ったりしてたのですが(笑)
結論からいってネームサーバを変更したらしばらくアクセスできなくなるのかも。
2時間くらいしたらアクセスできました(笑)
でもこれでまた大変で
「5分でできるWordPressの有名なインストールプロセスへようこそ!」
なんて日本人の僕には何?何なの!?ここはどこなの!?みたいな文章が出てまたびびりまくり(笑)
サイトのタイトル、ユーザー名、パスワード、メールアドレスを入力し「wordpressをインストール」ボタンを押したら普通にインストールしワードプレスの管理画面になりました。ここで入力する内容は88サーバのユーザ情報とは全く別で大丈夫です。
あとからいくらでも修正が出来るようだし、それなりに考えて入力すればOKでしょう。
登録:
投稿 (Atom)