1 名前:デフォルトの名無しさん [2015/05/21(木) 10:52:44.71 ID:KLv0vQmm.net] VBAを使った質問ならなんでもござれ 本来の対象であるオフィスアプリを操作する以外の話もOK ゲーム作り、Webアクセス、外部アプリの操作 COM(ActiveX)、Win32API、.NET Framework、DirectXなどなど VBAで実行するものであればなんでも質問してください VBAを開発環境としていろいろ作っちゃいましょう 前スレ VBAなんでも質問スレ peace.2ch.net/test/read.cgi/tech/1342087380/ 関連スレ Excel VBA 質問スレ Part36 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1419718732/ Access VBA 質問スレ Part1 peace.2ch.net/test/read.cgi/tech/1328536426/ VBプログラマ質問スレ(Ver.6.0 まで) part64 peace.2ch.net/test/read.cgi/tech/1393069842/ Excel総合相談所 118 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/bsoft/1430352555/
152 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 19:56:57.79 ID:IDkrJnKk.net] ミリ秒より短い時間の計測ってどうやるの?
153 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 20:49:02.27 ID:UbdDFkp+.net] >>149 何を計測したいの?
154 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 17:27:24.27 ID:ISN2ur/+.net] というかVBA マイクロ秒でぐぐったりしたの?
155 名前:デフォルトの名無しさん mailto:sage [2016/03/18(金) 00:50:59.88 ID:QavJ4QpP.net] EXCELのVBAでインデントされたとりあえず下のようなXMLを作成したく blogs.yahoo.co.jp/ke1_thanks/folder/929993.html?m=lc を参考に作成してるのですが、うまく孫要素が作成できません。 どうすれば孫要素が作成できるのでしょうか。ご教示お願いします。 また何と調べればいいのかを教えていただければ幸いです。 環境 windows7 64bit と32bit両方 Excel 2010 64bit と32bit 両方 作成したいXML(括弧は半角だとうまく書き込めないみたいなので全角にしてます) <?xml version="1.0" encoding="UTF-16" standalone="yes"?> <ROOT> <TITTLE>DQ5</TITTLE> <CHARACTER> <PERSON> <NAME>パパス</NAME> <HOBBY>女装</HOBBY> <COMMENT>ぬわーーっっ!!</COMMENT> </PERSON> <PERSON> <NAME>ゲマ</NAME> <HOBBY>メラミ</HOBBY> <COMMENT>ほっほっほっほっ。子を思う親の気持ちは いつみても いいものですね。</COMMENT> </PERSON> </CHARACTER> </ROOT>
156 名前:デフォルトの名無しさん mailto:sage [2016/03/18(金) 01:48:30.33 ID:emFx7ejn.net] >>152 vba xml 生成 とかでググるといくらでもやり方はヒットすると思うけど 具体的にどんなコードのどこで行き詰まってるのか書いてくれないとアドバイスしようがない
157 名前:デフォルトの名無しさん mailto:sage [2016/03/18(金) 11:47:02.11 ID:QavJ4QpP.net] <CHARACTER>が</CHARACTER>で作成されてしまい、閉じてくれません。また<PERSON>などが孫要素になってくれません。 コードはこんな感じです。 pastebin.com/CVVKVnYF 作成されるXMLは↓です。 <?xml version="1.0" encoding="UTF-16" standalone="yes"?> <ROOT> <TITTLE>DQ5</TITTLE> <CHARACTER/> <PERSON/> <NAME>パパス</NAME> <HOBBY>女装</HOBBY> <COMMENT>ぬわーーっっ!!</COMMENT> <PERSON/> <NAME>ゲマ</NAME> <HOBBY>メラミ</HOBBY> <COMMENT>ほっほっほっほっ。子を思う親の気持ちは いつみても いいものですね。</COMMENT> </ROOT>
158 名前:デフォルトの名無しさん mailto:sage [2016/03/18(金) 21:10:32.76 ID:Sdu3bujA.net] >>154 > 'ノードとして子ども・孫の要素を追加 >Set elem2 = rootelem.appendChild(myxml.createElement("CHARACTER")) > Set elem2 = rootelem.appendChild(myxml.createElement("PERSON")) > > 'ノードとしてひ孫の要素を追加 >Set node = rootelem.appendChild(myxml.createNode("element", "NAME", "")) > node.Text = "パパス" rootelemにしか子供追加してないから、孫、ひ孫が生成されないのは当然な気がする 追加した子要素に子供を追加してやらなくちゃ… 試してないけどこんな感じ? 'ノードとして子ども・孫の要素を追加 Set elem2 = rootelem.appendChild(myxml.createElement("CHARACTER")) Set elem2 = elem2.appendChild(myxml.createElement("PERSON")) 'ノードとしてひ孫の要素を追加 Set node = elem2.appendChild(myxml.createNode("element", "NAME", "")) node.Text = "パパス"
159 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 11:15:23.76 ID:LxdobWB2.net] ThisWorkbook.Save で「指定したディメンションは、このグラフの種類では無効です。」のエラー発生。 エラーが出るときと出ないときがある。 VBAでグラフを操作している部分もあるが、それとは無関係と思われるSaveでこのエラーに戸惑っています。 ↓このサイトで、SaveAsで存在しないパスを指定し同様のエラーが出た事例は見つかりましたが私はパス指定していません。 yaplog.jp/purplish-blog/archive/1838 エラー回避する方法を教えて下さい。
160 名前:156 mailto:sage [2016/03/19(土) 11:26:07.75 ID:LxdobWB2.net] >>156 はエクセルの話です win7, office2010
161 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 06:56:26.93 ID:XolQD74Z.net] どなたか>>156 わかりませんか?
162 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 07:11:36.75 ID:P5LbtOo8.net] VBA内でセル指定をするときにシート名を明記しないと そのセルがアクティブシートのセルになってしまってエラーが出ることがあるけど VBAでグラフを作成するプログラムを作成していますが、エラーがでます。エラーの... - Yahoo!知恵袋 detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1486687089 ぷぎえもん日記 VBA:実行時エラー1004グラフを作る時のエラーについて pugiemonn.blog6.fc2.com/?m&no=985 その辺は大丈夫?
163 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 14:30:13.47 ID:U/mbzow+.net] >>155 うまく行き作りたいものが作れました。ありがとうございます。
164 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 00:33:38.32 ID:RmxeJW4x.net] >>159 レスありがとうございます。 今出先なので明日帰宅してから確認してみます。
165 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 00:35:10.70 ID:RmxeJW4x.net] あ、書き込めた。規制かかっててレスできず申し訳ないです。
166 名前:デフォルトの名無しさん [2016/03/24(木) 09:23:12.55 ID:Y45L/A5m.net] 既存のブックに入れているマクロは正常動作しているんだけど、2,3日以前から作った ブックは オートメーションエラーです。 例外が発生しました。 ってエラーですぐ落ちてしまうんだけど、これって何が原因なんですかね。 (OS Win7Home excel2010) なんせ、 Sub test() MsgBox "test" End Sub ってだけのでも同じエラーで落ちてしまうんで┐(´∀`)┌ ちなみにウィルス対策はAVGでチェックかけて異常なしではありました www.dotup.org/uploda/www.dotup.org790841.jpg
167 名前:デフォルトの名無しさん mailto:sage [2016/03/24(木) 12:50:23.33 ID:FJvNCHp3.net] >>156 「vba 指定したディメンションは、このグラフの種類では無効です。」で検索! >>163 「vba オートメーションエラー」で検索!
168 名前:デフォルトの名無しさん [2016/04/09(土) 01:33:44.74 ID:8VJ1WNjN.net] Declare 文でDllを指定するとき、絶対パスを指定するのとしないので挙動が変わるなんてことありますかね? パスの通ったフォルダにDllを置きDeclare文にはパスを書かない、という状態で何度テストしても失敗する(結果がおかしい)ので、 もしやと思って絶対パスを指定してみたら成功しました。何度やっても同じです。 念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。 Window7、Excel2010(64bit)です。
169 名前:kio mailto:kio@gmail.com [2016/04/09(土) 09:27:26.96 ID:OaMx2gZN.net] 下記プログラムでデータ貼り付け可能ですが、 Range(
170 名前:デフォルトの名無しさん [2016/04/09(土) 10:55:02.62 ID:uD9Ltjj7.net] >>165 なんで大事な部分を書かずに濁すの?
171 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 11:27:25.80 ID:mXQNErhc.net] >>167 大事な部分って?
172 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 11:49:50.63 ID:8+AE4+J9.net] コードじゃね?
173 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 12:00:42.12 ID:YC7vrxdl.net] どんな dll 使って、 どう失敗するのか とかじゃね?
174 名前:デフォルトの名無しさん [2016/04/09(土) 12:35:11.85 ID:lZD29UWG.net] 性別と容姿じゃね?
175 名前:デフォルトの名無しさん [2016/04/09(土) 15:25:31.33 ID:8VJ1WNjN.net] >>167-170 DLLはこんな感じで Declare PtrSafe Function funcABC Lib "ABC.dll" (ByVal n As Long, ByRef v As Variant) As Long 本来1が返ってくるべきところに0が返ってくるんです。 だけど、〜 Lib "C:\tmp\ABC.dll" 〜 とすると、ちゃんと1が返ってくる。 どちらの場合もDLL名を変えると「ファイルが見つかりません」という実行時エラーになるので、同じDLLファイルを 指しいてるのは間違いないと思います。
176 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 16:35:57.82 ID:kbPPFUQM.net] >>172 そんなの "ABC.dll" の作り次第だろ 作者に聞けよ dll のパス取得して何かしてるのかもしれないし frog.raindrop.jp/knowledge/archives/000316.html
177 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 16:55:41.43 ID:DA1syyI4.net] >念のため他のフォルダに同名のDllがないか確認しましたが、そんなものはありませんでした。 限りなくこれが怪しいと思うんだが
178 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 16:57:28.60 ID:XGWfr4Pw.net] >>165 同名のdllが無いことをどうやって確認した?
179 名前:デフォルトの名無しさん [2016/04/09(土) 18:20:08.40 ID:uD9Ltjj7.net] >>165 挙動が変わることはあります。 おわり
180 名前:デフォルトの名無しさん [2016/04/09(土) 18:32:34.00 ID:8VJ1WNjN.net] >>175 パスが通っている全フォルダとカレントフォルダからの目視です。 環境変数(PATH)をまず確認して、 kernel32.dllにあるAPI 「GetEnvironmentVariableA」 に引数"PATH"を渡して出てきたフォルダを対象にしました。 問題のfuncABC も GetEnvironmentVariableA も同じVBAから発行しています。
181 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 18:41:03.58 ID:DA1syyI4.net] カレントフォルダをどうやって確認したかとか システムディレクトリにdllがないかとか まあ、確認漏れ自体はいっぱいありそうだな
182 名前:デフォルトの名無しさん [2016/04/09(土) 18:46:44.36 ID:8VJ1WNjN.net] >>178 C:\windowsやC:\Program Files、C:\Program Files (x86)は入ってますよ。 目視も検索フィルタにとりあえず *.dll で全DLLを出してからやっています。 >>176 マジですか...
183 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 19:45:00.69 ID:mXQNErhc.net] >>179 本当にひとつしかないならあり得ない挙動だと思うけど。 dllの内容を明かしてみな。
184 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 19:57:07.07 ID:zSVIlalC.net] Windows が使用する DLL 検索パス 1.実行中のプロセスの実行形式モジュールがあるフォルダー。 2.現在のフォルダー。 3.Windows システム フォルダー。このフォルダー
185 名前:へのパスは、GetSystemDirectory 関数が取得します。 4.Windows ディレクトリ。このフォルダーへのパスは、GetWindowsDirectory 関数が取得します。 5.環境変数 PATH 内に記述されたフォルダー。 https://msdn.microsoft.com/ja-jp/library/7d83bc18.aspx [] [ここ壊れてます]
186 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 20:29:56.83 ID:XGWfr4Pw.net] >>177 ウインドウズの検索機能を使ってみたら?
187 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 20:38:17.27 ID:KOaWU5bX.net] 何か仕事でもしながら、ディスク全部の範囲で、検索すればいい
188 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 21:28:53.86 ID:yIzAT5uL.net] windows なら黙って search everything 入れろ 考える余地なし
189 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 21:30:12.16 ID:yIzAT5uL.net] あ、業務用のマシンだとマズいか
190 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 21:43:59.08 ID:YC7vrxdl.net] >>179 > 目視も検索フィルタにとりあえず *.dll で全DLLを出してからやっています。 プログラマーに向いてないんじゃね? コマンドプロンプトで dir /s /b \ABC.dll ってやればいいだけだろ
191 名前:デフォルトの名無しさん [2016/04/09(土) 23:15:48.61 ID:8VJ1WNjN.net] >>180 ODBCのコネクションを張る関数で、特に自分の場所が関係する処理はしてないですね。 >>181-186 全ドライブを検索した結果(search everythingは入れてませんが dir/s はやってみた) C:\Users\*****\Google ドライブ\ に見つかりました。 しかし、これを消しても現象は変わらなかった(もともと参照パスに入ってない)ので、諦めの気分です。
192 名前:デフォルトの名無しさん [2016/04/10(日) 00:12:20.49 ID:TaPFtU7E.net] 元々の質問は、挙動が変わることがあるか?で、 あるって回答で解決だと思うけど、どうしてもないってことにしたいの? ゴールが見えないよ
193 名前:187 [2016/04/10(日) 00:39:39.00 ID:9vV3r8su.net] >>188 あるって回答(>>176 )もあり、ないって回答(>>180 )もありで、判断がつかない状況です。
194 名前:187 [2016/04/10(日) 00:47:04.09 ID:9vV3r8su.net] それと、>>173 と>>176 もいまいち理解できておりません。 「dllのパスを取得」とは、実際の存在はひとつでもDeclare文での指定のしかたまでも検知できるんでしょうか?
195 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 01:04:43.27 ID:9zYVMe1H.net] まさか、パス・ユーザー名など、システムに関係する部分に、 日本語を使ってないだろうな? それで、バグってるとか?
196 名前:187 mailto:sage [2016/04/10(日) 01:08:14.87 ID:9vV3r8su.net] >>191 ないですね
197 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 01:14:27.05 ID:9zYVMe1H.net] そのDLLの作者が外人で、DLL内で、パス・ユーザー名を扱っていた場合、 もしその中に日本語が入っていれば、バグるかも
198 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 01:22:30.64 ID:9zYVMe1H.net] >>187 >ODBCのコネクションを張る関数で それなら、そのDBのメーカーが(ドライバーが)、絶対パスしか許可していないのかも。 相対パスの危険性も考慮して、そういうアクセス許可にしているのかも 絶対パスを使えばいい
199 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 05:47:22.16 ID:v52RcnsN.net] >>187 > 特に自分の場所が関係する処理はしてないですね。 ん? 自分で作った dll なの? だったら自分でデバッグしなよ
200 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 10:59:47.17 ID:KR5BT3Be.net] 全ドライブを検査してひとつしかdllファイルがなかったって言ってるんだろ。 それが本当なら何も対処できないよ。OSレベルの不具合。
201 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 17:49:12.01 ID:r0zhudqC.net] VBAをコーディングするのに最適な画面サイズとモニターの台数は何台ですか? 縦と横どっちでつかってすか? 4Kディスプレイはどうですか?
202 名前:デフォルトの名無しさん mailto:sage [2016/04/10(日) 18:54:26.34 ID:oV0tVvW7.net] (´・ω・`)
203 名前:デフォルトの名無しさん [2016/04/10(日) 19:33:25.31 ID:Y5yf6QHK.net] >>197 3台 縦 4Kいいよ
204 名前:デフォルトの名無しさん mailto:sage [2016/04/27(水) 21:49:20.13 ID:Wsz3hpAs.net] エクセルのVBA質問があります。 一番前のTOTALシートのA22:H26までを複数シート(20シートくらいある)の最終行の次の行に貼り付けたいのです。 各シートの最終行はバラバラで多いのは数千とあります。 しかも、G列には\と$の通貨マークH列には金額が書いてあり、SUMIFが組んであります。 記録マクロでやると下記みたいになりますが、こんなこと可能なのでしょうか? 調べても出てこないので誰か教えてください。 Sub Macro2() Rows("24:28").Select Selection.Copy Sheets("A").Select Rows("22:22").Select Selection.Insert Shift:=xlDown Range("H22").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=SUMIF(R9C7:R19C7,RC[-1],R9C8:R19C8)" Range("H23").Select End Sub
205 名前:デフォルトの名無しさん [2016/04/28(木) 00:18:56.90 ID:Vq22azhO.net] >>200 可能です
206 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 07:31:01.70 ID:TNqjmghT.net] >>201 教えてください。
207 名前:デフォルトの名無しさん [2016/04/28(木) 08:26:47.90 ID:RqXO/zBw.net] >>202 具体的にあなたが躓いているところがわかりません
208 名前:デフォルトの名無しさん [2016/04/28(木) 12:27:24.37 ID:xB9gNSEq.net] >>203 具体的にあなたが何がわからないのかわかりません
209 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 12:29:10.17 ID:gq5pmM2C.net] >>200 For Eachで全シートループして、各シート最終行取得して貼り付ければ良いと思いますが、ダメですか?
210 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 20:07:58.00 ID:iqsXmWMg.net] >>200 ですが、出直してきます。
211 名前:デフォルトの名無しさん [2016/05/01(日) 15:15:56.13 ID:tKi6j9CT.net] 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません l
212 名前:デフォルトの名無しさん [2016/05/01(日) 23:24:37.04 ID:u17iQe5m.net] EXCELのVBAでメール返信(OUTLOOK)をする仕組みを作りたいのですが、 元メールを引用するにはどうしたら良いでしょうか? タイトルやらアドレスやら本文がくっついてないと、 どうも返信感がでないと思いまして。
213 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 10:11:50.64 ID:YSERRocv.net] >>208 Outlookヘルプから 次の例は、現在のフォルダを受信トレイに設定し、フォルダの 2 番目のメッセージを表示します。 Visual Basic for Applications Set myOlApp = Outlook.Application Set myNamespa
214 名前:ce = myOlApp.GetNamespace("MAPI") Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox) myFolder.Display Set myItem = myFolder.Items(2) myItem.Display [] [ここ壊れてます]
215 名前:デフォルトの名無しさん [2016/06/04(土) 14:31:26.42 ID:ZLbjql14.net] Excel向けだとVBA関連の本は結構あるのにOutlookのVBA本って あんまり無いですね。 Outlookの仕分け機能では宛先とCCに○○から来た時に動作する 条件を付けられますが、宛先○○から来た時には動作するけど CCに何か入っていた場合は動作しないマクロは作れないでしょうか。 環境はWin7、Outlook2010です。
216 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 17:57:25.97 ID:+2vTx5YA.net] >>210 作れるよ
217 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 17:59:26.06 ID:+2vTx5YA.net] outlook vba mail とかでググれ
218 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 21:08:48.99 ID:xa1tVlDu.net] >>210 多分こんな感じでできるかと Public WithEvents InboxItems As Items Private Sub Application_Startup() Set InboxItems = Application.Session.GetDefaultFolder(olFolderInbox).Items End Sub Private Sub InboxItems_ItemAdd(ByVal Item As Object) Dim mailItem As Outlook.mailItem Set mailItem = Item If InStr(mailItem.To, "○○") > 0 And mailItem.CC = "" Then MsgBox "何かする" End If End Sub
219 名前:デフォルトの名無しさん [2016/06/12(日) 09:42:53.63 ID:D40PIOb3.net] 【Win10】 こんな犯罪級OS薦めんなよwww ↓ 【スパイウェア】 この使用許諾契約書には書かれています ”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します” 開示する ここ重要だよ 契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです https://www.youtube.com/watch?v=ZBwEmgdqB1c 【秘密保護法】 ナチスの手口でサヨクを捕まるんだろ? 早くやってみろよ m9(^Д^) 【緊急事態法】 スノーデン氏→国家秘密法は諜報機関NSAの日本での活動を容易にするために米国が設計して日本政府に導入を要求したもの。 全日本人が調査の対象であり、NSAはあなたの交際関係、信仰等の個人情報を把握している。 https://twitter.com/hopi_domingo/status/740193540529999873 今朝、辺野古で新基地建設に反対するママの会メンバーに対して、機動隊員が「お前たちには汚い血が流れている」などと暴言を吐いたそうです。 自分のやっていることを「だってお金欲しいもん〜」「俺の写真を待ち受けにしろ」とも (顔写真) https://twitter.com/MothersNoWar/status/690357793702940672 サンマ以降のバラエティ芸人の大半が、暴走族出身で極右思想。原発反対派を「放射脳」と嘲笑する連中。 芸能界極右は石原慎太郎一家を筆頭に、上田晋也 草野仁 津川雅彦 向井理 松本人
220 名前:u 宇多田ヒカル マツコ 春日俊彰 田村淳 北村晴雄 https://twitter.com/tokaia mada/status/630627400552845312 [] [ここ壊れてます]
221 名前:デフォルトの名無しさん [2016/06/14(火) 02:34:53.84 ID:2DTiTbF7.net] vbaでshell関数を使って指定パスのエクスプローラをファイル選択状態で開いてるのですが、 家でやると何でもないのですが、会社でやると、その方法で立ち上げたエクスプローラは 1分〜数分以内に「エクスプローラは停止しました」となって落ちます。そのフォルダだけ 落ちるので他のは巻き込まれないだけマシですが、手動で立ち上げた他のエクスプローラで このように不意に落ちた事はないので、プログラムから立ち上げたエクスプローラが特別 不安定だとしか思えないのですが、原因が不明です。 それで、家と会社の違いは、会社だと共有フォルダを開いている事です。 家ではテスト環境をローカルで構成している為か、全く問題は起きません。 色々ぐぐってみたのですが原因が不明です。 vbaから開く方法で、解決策、あるいは次善の方法等ありますでしょうか。 shell関数はこのように使っております。 Shell "Explorer.exe /select, """ & path & """", vbNormalFocus 環境はWindows7 Excel2010(32bit)です。
222 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 06:56:55.57 ID:wwwgAdKU.net] >>215 試しに自宅の環境で共有フォルダをshell関数でファイル選択状態で開いてみたけど 特に問題なかったよ 原因は共有フォルダであること ではないのじゃないかな その共有フォルダへのショートカットを作って それをshell関数を使ってexplorerで開いてみるとかは?
223 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 08:10:13.51 ID:BcKyLCvc.net] 手動で起動したプロセスは、親プロセスが無く、単独のプロセスだから、ずっと生き残るのかな? Aプログラム(Aプロセス)から起動したプロセスは、親プロセスがAとなり、 Aを終了すると、その子プロセスもすべて、連鎖して終了するのかな? プロセスを起動する際、親子関係を切れば? ただしそうすると、起動されたプロセスは、A終了後も残り続けるから、 誰がそのプロセスを終了するのかが、問題となる 漏れは、Windowsはよく知らない。Linuxから推測して書いた
224 名前:デフォルトの名無しさん [2016/06/14(火) 08:45:39.28 ID:2DTiTbF7.net] >>216 ショートカットから開く方法ですか、考えもしなかったです。 確実に再現するバグではない(場合によっては20分くらい経ってからクラッシュしますし、端末によっては何も起きなかったりします。) なので、原因を掴むのが難しいです。 >>217 なるほど、プロセスが分離されているから巻き込まれなかったんですかね。 前後のコードを見返しているのですが、shell関数を読んだ直後に Kill thisworkbook.fullName thisworkbook.close を読んで終了させているんですが、ひょっとしたらこの兼ね合いが原因かも?とふと思いました。 shell関数は非同期処理で、会社の共有フォルダを開くときはローカルと違って若干起動に時間がかかります。 shell関数の処理が完了しきっていないのに即終了させるから、動作が不安定になってる可能性はありますかね・・。 なのでとりあえずShell関数を、Wscript.ShellのRunメソッドの同期処理に置換えてみました。 それで明日会社でテストしてみます。
225 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 20:38:23.92 ID:985LHqkd.net] それVBAとか関係なく、普通にネットワーク上のフォルダを表示してるエクスプローラでも発生してるんじゃないのか? https://support.microsoft.com/ja-jp/kb/972685#/ja-jp/kb/972685 https://support.microsoft.com/ja-jp/kb/2494427#/ja-jp/kb/2494427 とりあえず俺はこの二つで直ったが、エクスプローラ 落ちる とかでググってみ
226 名前:218 [2016/06/16(木) 07:48:37.40 ID:MO4h1nff.net] >>219 同期処理に変えたら全く落ちなくなりました。 どうやら推測は当たったみたいです。 手動で立ちあげてる時には同じトラブルは一度も起こったこと無く、誰からも聞いていないので、 VBA処理が原因で間違いないと思います。 ぐぐっては見てたんですけど、VBA関連でのエラー報告は0でしたね。 しかし、元々この手のトラブル報告がかなり多いことにはびっくりしました。 とりあえずは解決です。皆さんどうも有難うございました。
227 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 14:05:29.72 ID:tOwQ8tvq.net] タイミングの問題で、バグが起きるときは、 sleep 3秒などで、時間稼ぎすることが多いな
228 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 16:27:03.77 ID:YtVxucfB.net] >>221 タイミングというか処理を待ち合わせる必要があるって事だよな 3秒で完了しない処理だと問題が起きる 90%くらい解決出来れば実用上は問題にならないかも知れないけど
229 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 21:40:45.67 ID:JOmdLZoV.net] ' キャッシュ反映を待って5秒待つ ↑これなんとかして
230 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 21:53:33.23 ID:EpEOLr57.net] >>223 何のキャッシュか判らないけど キャッシュをフラッシュするインターフェイスがあればそれを使えば良いのでは 無いなら知らない
231 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 01:16:02.29 ID:Sh+IdTol.net] 起動方法と起動のタイミングの問題で >1分〜数分以内に「エクスプローラは停止しました」 >場合によっては20分くらい経ってからクラッシュ のような症状が出るとは考えにくいけどな まあ、直ったって言うならそれでいいけど
232 名前:樵の結び目。 [2016/09/03(土) 18:27:18.44 ID:Ms7vNg4j.net] この作者について img.atwikiimg.com/www9.atwiki.jp/gensouv/attach/346/23/ExcelVBAPractice.html どう思いますか??
233 名前:デフォルトの名無しさん [2016/09/28(水) 19:27:48.59 ID:BVBInYIb.net] vbaの And, Or って短絡評価してくれないの???
234 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 20:30:34.84 ID:X231kNmm.net] >>227 普通しない (常にしないかどうかは知らんけど)
235 名前:デフォルトの名無しさん mailto:sage [2016/09/28(水) 22:20:25.14 ID:w7cfX4QA.net] X(n) And Y(m) で X(n) = False だった場合、Y(m) は評価しなくても式が False と確定する Or でも同様のことが可能 VBAがショートサーキットしているかどうかは、各関数で Debug ログを出力してみればわかる
236 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 04:55:17.68 ID:IF5lu7hc.net] >>229 いちいち短絡評価の説明なんてしなくていいよ...
237 名前:227 mailto:sage [2016/09/29(木) 08:22:26.74 ID:l2tsRcXf.net] くぅ。 短絡評価してくれるもんだと思って、 True, False, Nullを返す関数の結果で、 NullをFalseに倒したくて、 左辺でNot isNullやってたけど、 右辺もNullで動いてしまってエラーになってはまったわ。
238 名前:デフォルトの名無しさん mailto:sage [2016/09/29(木) 12:46:05.66 ID:tIM+raH6.net] VBAあるある
239 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 19:51:33.65 ID:prbbit7d.net] .NetならOrElseやAndAlsoが使えるし Nullable指定も出来るから便利なんだけどなー まあ無いものねだりしても始まらないか
240 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 17:43:11.29 ID:fiaM9vLl.net] VB(A)はWithとかある割にそういうとこは全然気が利かないよな C言語すら知らない人が作った言語なんだろう事は判る
241 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 22:59:38.27 ID:315EhZFM.net] VBって元々はMSじゃないんだよね BASIC好きのゲイツが惚れ込んで買収しただけ
242 名前:デフォルトの名無しさん mailto:sage [2016/10/27(木) 20:44:38.40 ID:LE0ob9Yw.net] vbaの中、上級者向けの書籍を教えて
243 名前:ュださい [] [ここ壊れてます]
244 名前:デフォルトの名無しさん mailto:sage [2016/10/27(木) 21:44:23.99 ID:BIHhfe0H.net] 漠然と「VBAの初心者向けの本を教えてください」ってのはよくあるが、上級者向けは珍しいね ある程度基礎が身に付き、やりたいことが分かってきていれば ○○に関する本、ってなるように思うんだが・・・ 田中亨氏の「Excel VBA 逆引き辞典パーフェクト 」は名著だよ
245 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 04:23:54.86 ID:s9odN72t.net] >>237 ありがとうございます。 クラスや多段階配列、イベント自作、擬似コントロール配列あたりの情報がある書籍はありませんか?
246 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 15:06:05.95 ID:Sg+Wt/Uz.net] アプリ作成で学ぶExcel VBAプログラミングユーザーフォーム&コントロール(横山達大著) かんたんプログラミング 応用編(大村あつし著) 同じく、かんたんプログラミング コントロール関数編 デバッグ関連だと 立山秀利著の本
247 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 23:22:10.90 ID:b3lytwnZ.net] VBAでコードを抜き出してSVNやgitで管理したりするとそれだけで上級者っぽくなる
248 名前:デフォルトの名無しさん [2016/10/30(日) 08:10:21.54 ID:R4QvvoTp.net] それ以上にバカっぽいけどなw
249 名前:デフォルトの名無しさん mailto:sage [2016/10/30(日) 09:23:46.57 ID:2kQlDpFE.net] 今時差分管理もしてないのかよ
250 名前:デフォルトの名無しさん mailto:sage [2016/10/31(月) 23:59:17.10 ID:9abcSnRr.net] VBACとか使ってんの?
251 名前:デフォルトの名無しさん mailto:sage [2017/02/06(月) 12:06:59.89 ID:1XFRepCN.net] PowerPointのVBAでファイルを閉じた後も変数の値が保存されるようにしたいんですが外部のテキストに書き出す以外にファイル本体にどうにかして埋め込む方法はありますか?
252 名前:デフォルトの名無しさん mailto:sage [2017/02/06(月) 14:57:53.43 ID:atuXlQHb.net] 透明のシェイプとかに書くとか色々あるけど 実際本体ファイルを更新されるとバージョン管理とか使う側が気持ち悪がるとか運用面で問題が出そう