Excel VBA質問スレ Part8
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/08/25(月) 23:16:33前スレ http://pc11.2ch.net/test/read.cgi/tech/1212587819/
★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。
★2 ExcelのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
0906デフォルトの名無しさん
2008/11/25(火) 08:00:48即レスありがとう
ありゃ?これは有料じゃなくて無料でもできるのですか?
ちょっと読んでみても区別がつかなかったので、あとでじっくり読んで見ます。
0907デフォルトの名無しさん
2008/11/25(火) 09:34:06どっちも同じ。
0908デフォルトの名無しさん
2008/11/25(火) 14:17:31今後この別窓のIEオブジェクトを掴んでアクティブにして操作するにはどうすればいいのでしょうか?
文系のなけなしの知識でウィンドウハンドルを取得すればいいと思い当たり、
For Eachで各ウィンドウのそれの取得だけはできました(たぶん)
Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hWnd As Long)
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
(中略)
hWnd = GetForegroundWindow
Set objShell = CreateObject("Shell.Application")
For Each objIE In objShell.Windows
Debug.Print objIE.hWnd
Next
ウィンドウハンドルの値は取得できても、アクティブにしたい(操作したい)ウィンドウの
それだと判別する方法が解らないので、どなたかご教示&ご解説お願いします
0909デフォルトの名無しさん
2008/11/25(火) 14:55:04>>1★3,★4
お引き取り下さい
0911デフォルトの名無しさん
2008/11/26(水) 02:07:41俺も勉強してる時、ヘルプの使用例には
何度も泣かされたよ。
0912デフォルトの名無しさん
2008/11/26(水) 08:19:57次ぎは、どの様な本がお勧めですか?
0913デフォルトの名無しさん
2008/11/26(水) 19:41:470914デフォルトの名無しさん
2008/11/27(木) 10:36:04日本語わかる?
0915デフォルトの名無しさん
2008/11/27(木) 10:49:200916デフォルトの名無しさん
2008/11/28(金) 01:40:51教えてもえらなかったからって逆切れですか?
0917デフォルトの名無しさん
2008/11/28(金) 09:55:34ありませんでしょうか?
0918デフォルトの名無しさん
2008/11/28(金) 22:31:450919デフォルトの名無しさん
2008/11/28(金) 22:32:16OOP極めてるオレに聞け
0920デフォルトの名無しさん
2008/11/28(金) 23:54:440921917
2008/11/29(土) 00:15:40VBAとdesign patternで検索したら沢山ヒットしました。
http://www.google.com/search?client=safari&rls=en-us&q=VBA+design+pattern
書籍だと、VB+design patternってのは沢山あるのですが、
VBA専門となると見つかりませんでした。
0922デフォルトの名無しさん
2008/11/29(土) 08:07:51タイムスタンプとファイルサイズを取得することはできませんでしょうか?
0923デフォルトの名無しさん
2008/11/29(土) 08:38:150924デフォルトの名無しさん
2008/11/29(土) 09:27:04社内LANで繋がれたネットワーク上のドライブですよ。
VB.netでやった方がいいのかな。
0925デフォルトの名無しさん
2008/11/29(土) 09:29:220926デフォルトの名無しさん
2008/11/29(土) 10:11:340927デフォルトの名無しさん
2008/11/29(土) 10:36:38作れます。でも>>1
0928デフォルトの名無しさん
2008/11/29(土) 12:07:56「ドライブ」って何?
0929デフォルトの名無しさん
2008/11/29(土) 12:42:280930デフォルトの名無しさん
2008/11/29(土) 13:45:58Range("A1").FormulaR1C1 = "hello"
と
Range("A1").Value = "hello"
だと何が違うの?
Range("A1").FormulaR1C1 = "=R[1]C + R[2]C"
と
Range("A1").Value = "= A2 + A3"
も同じ結果になるね。
FormulaR1C1はダブルコーテーションの中をパースして「あ!RとかCがあるからこれはセルだな!」とか
独り言をつぶやきながらR[1]CをA2に置き換える作業をするところがValueへの代入と違うトコなの?
0931デフォルトの名無しさん
2008/11/29(土) 14:56:42で?
0932デフォルトの名無しさん
2008/11/29(土) 14:57:34a = 1とa = 1; b = aと何が違うの?
0933デフォルトの名無しさん
2008/11/29(土) 15:38:07記法の違い
0934デフォルトの名無しさん
2008/11/29(土) 16:03:19書いてあるサイトありませんでしょうか。
0935デフォルトの名無しさん
2008/11/29(土) 17:07:520936デフォルトの名無しさん
2008/11/29(土) 18:49:18死者が200人を超えるとも言われてるし。
0937デフォルトの名無しさん
2008/11/30(日) 10:08:03VBAって参考本みると簡単な操作で
いかにも思考ルーチンなんか作れなさそうなんですが
そんなことはないのですか?
VBAって入門書が多くて上級本がないように思うのですが
0938デフォルトの名無しさん
2008/11/30(日) 10:09:09オセロとか将棋か?
0939デフォルトの名無しさん
2008/11/30(日) 10:10:290940デフォルトの名無しさん
2008/11/30(日) 16:10:210941デフォルトの名無しさん
2008/11/30(日) 17:57:52言語の能力としては可能だが、VBAで組む必然性がない
0942デフォルトの名無しさん
2008/12/01(月) 00:16:33言語としての記述力に欠ける。
0943デフォルトの名無しさん
2008/12/01(月) 00:21:26落ち着いて作れないしな。
0944デフォルトの名無しさん
2008/12/01(月) 14:01:57VBAに取り込む方法があるんですか?
0945デフォルトの名無しさん
2008/12/01(月) 14:36:08APIが使えるから似たような感じでなら使えるんじゃないかな?
自作DLLではやったことないけど
0946デフォルトの名無しさん
2008/12/01(月) 16:53:26「参照」で取り込むかのどちらか。
前者の方が簡単。
0947デフォルトの名無しさん
2008/12/01(月) 17:37:53JavaScriptを使うか(もちろんScriptのCOMを使って)、
WSHでXML書いてCOMオブジェクトに仕立てあげるか。
0948デフォルトの名無しさん
2008/12/01(月) 20:13:060949デフォルトの名無しさん
2008/12/01(月) 20:15:46チミプログラム書いたことないでしょ?w
0950デフォルトの名無しさん
2008/12/01(月) 20:41:520951デフォルトの名無しさん
2008/12/01(月) 22:06:24コンボには複数のアイテムを入れるんですが、
その中で最も長いアイテムを表示できるよう、
最初に表示する時点で自動的にサイズ調整はできるでしょうか?
0952デフォルトの名無しさん
2008/12/01(月) 22:24:33扱いなのにそんな妙なところだけ親切(いや俺にはそんな機能が親切とは思えんが)
だったりするわけないだろう常識で考えて。。
0953デフォルトの名無しさん
2008/12/02(火) 01:03:47だってそれが主目的じゃん。
photo shop持ってるのに、paintでレタッチするようなもんだ。
0954デフォルトの名無しさん
2008/12/02(火) 01:43:30別にExcelにひっつける必要はないと思うよ。
MSXMLでXMLをいじくったりしてるし。適当なVBのメモパッドだと思えば。
Excelだとデータをそのままシート上で
表現できるからいろいろとぬるぬる処理できて便利なんだよね。
>>951
自分で文字列の長さ測って適当なサイズ設定してあげるしかないんじゃないかな。
プロポーショナルフォントはもちろん解除してね。
0955デフォルトの名無しさん
2008/12/02(火) 10:36:10自動で調節する方法はない。
どこか作業列にアイテムを入れてセル幅を自動調節して結果をチェックするのが一番簡単。
完璧にやるならWin32APIのGDI関数で文字列の幅を取得。
0956デフォルトの名無しさん
2008/12/02(火) 21:22:57業務でたくさんの仕様書を書いたりしているわけですが、
作った大量のブックの書き方が間違っていた場合など、
これを一つ一つ開いて、手で同じセルに同じ文字を打ち込むわけです。
これがバカらしいのでマクロを作りたいです。
当然必要になるであろう機能といえば、マクロでブックを開くとか、上書きするとか、閉じるとか、上書きで閉じるとか。。
つまりこういうことをするのに便利なリファレンスマニュアル的な本が良いです。
三角関数だの、キューブだの、そんなものはどうでも良くて。
で、逆引き系で、「ブックを閉じるには」っていう一見気の利いた見出しが合って
開いてみると、実はブックの閉じ方だけが載っていて、関連するであろう
「保存して閉じる」とか「上書きで閉じる」とかそういう機能はまったく触れてないような
やっつけハウツー本はいらないです。
m(_$_)mよろぴこ
0957デフォルトの名無しさん
2008/12/02(火) 21:28:200958デフォルトの名無しさん
2008/12/02(火) 21:37:27でも客先だとグーグル禁止なの。・゚・(ノД`)・゚・。
0959デフォルトの名無しさん
2008/12/02(火) 21:59:55VBAのヘルプ以上のことが書いてある本はまずない気がする。
というか、VBAなんてヘルプがあれば当たり前の作業は当たり前にできるでしょ。
Win32API使わないとできないようなこと(まあ普通に多い)が書いてある本はまずない。
まず客を説得することを考えるべきだろうね。
客が余程の馬鹿か君の説明能力が欠如してなきゃweb閲覧ぐらい許可するでしょ。
しかし、そんなレベルの人を使ってる「客先」が気の毒になるな。
0960デフォルトの名無しさん
2008/12/02(火) 22:08:110961デフォルトの名無しさん
2008/12/02(火) 22:12:00しかし、なんて馬鹿って得意げなんだろう。
20年30年生きてりゃ自分の知能が如何程かわからんわけでもあるまいに。
0962デフォルトの名無しさん
2008/12/02(火) 22:15:05> 客が余程の馬鹿か君の説明能力が欠如してなきゃweb閲覧ぐらい許可するでしょ。
許可するしないとか問題外なの
どうやっても"できない"職場なの
0963デフォルトの名無しさん
2008/12/02(火) 22:17:34>>958になんて書いてあるんだよ。
久々に見たわこんなトンチキ。
0964デフォルトの名無しさん
2008/12/02(火) 22:19:190965デフォルトの名無しさん
2008/12/02(火) 22:21:300966デフォルトの名無しさん
2008/12/02(火) 22:22:09その通り。
そしてWebの許可をもらうとかそういうことは論点でもない。>なんかやたら威勢の良い世間知らずの方
0967デフォルトの名無しさん
2008/12/02(火) 22:22:580968デフォルトの名無しさん
2008/12/02(火) 22:37:57>>958本人かどうか知らないが、そういう台詞は状況を正確に書いてから言ったらどうだ。
まあこの手の馬鹿に何いっても無駄だろうけど。
0969デフォルトの名無しさん
2008/12/02(火) 22:40:090970デフォルトの名無しさん
2008/12/02(火) 22:46:38昔はMSDNのCDに詳しい追加のヘルプファイルが入ってたけど、今でもそういうのはあるんだろうか。
VBとWIN32のヘルプをノートパソコンに入れて持ち歩いてたよ。
とりあえず持ち歩くなら技術評論社のポケットリファレンスが小さくてオヌヌメ。内容はちょっと薄いけど
ちょっとセルにデータを入れたいとか簡単なプログラミングならこれで十分。
ttp://www.amazon.co.jp/dp/4774135674
0971デフォルトの名無しさん
2008/12/02(火) 22:47:200972デフォルトの名無しさん
2008/12/02(火) 22:48:25ありがとうございます。早速チェックします。
0973デフォルトの名無しさん
2008/12/02(火) 23:16:01正直、必要な記憶つったって仕様書とか扱うだけならごくごくわずかだし、
リファレンスが必要とは思えない。
分厚い本の最初だけ懇切丁寧にやって
後は興味のあるプロパティとメソッドだけおぼえりゃしたいこと出来る。
0974デフォルトの名無しさん
2008/12/02(火) 23:35:46馬鹿か?
0975デフォルトの名無しさん
2008/12/02(火) 23:39:41いざって時にピンポイントで役立つのはやっぱネットの情報だなぁ
先人はみな自分が考えるような疑問や壁に既にブチ当たっているものであり、
自分が天才か途方も無いアホでない限り、そこには大体たどり着けるしね
でもそれ専門で食ってでもない限り、少しずつ腕は錆びるものだし
覚えた知識もすぐに薄れていくから、それを繋ぎとめるためにも書籍はやっぱ必要
俺は自宅のトイレで本読む癖あるから、半書斎化してるよ
0976デフォルトの名無しさん
2008/12/02(火) 23:41:02ネットが駄目というくらいだから、持ち込み制限とかありそう。
0977デフォルトの名無しさん
2008/12/02(火) 23:43:09携帯は仕事中にいじるのは良くおもわれないからひかえてる。
いちいち「VBAの文法調べてるんですよ」とか弁護しながら使うのは嫌だw
0978デフォルトの名無しさん
2008/12/03(水) 00:10:24好きにすれば?
0979デフォルトの名無しさん
2008/12/03(水) 00:11:16間違いなくお前さんが勝手に思い込んでるだけ。
いや正確に言うと、「そう思い込むことにした」だけ。
自分のコミュニケーション能力の欠如を直視する代わりに、ね。
だから余程馬鹿な客でもなければ、「自分が雇ってる人間の生産性の向上に繋がること」
=「自分が得すること」を拒否なんかするかよ。
本当最近こういう社会人として最低限のコミュニケーション能力が欠如してる奴が多くて困るんだよ。
0980デフォルトの名無しさん
2008/12/03(水) 00:16:27書籍の持ち込みまで禁止ってのはちょっと聞いたことがない。
たぶん俺が知らないだけなんだろうけど、世界は広いんだなあ。
0981デフォルトの名無しさん
2008/12/03(水) 00:20:310982デフォルトの名無しさん
2008/12/03(水) 00:21:03また上から目線w
0983デフォルトの名無しさん
2008/12/03(水) 00:58:350984デフォルトの名無しさん
2008/12/03(水) 01:17:07ここは社会人指南スレッドじゃありませんので、
いい大人が説教こくのはやめてください。
0985デフォルトの名無しさん
2008/12/03(水) 01:20:17こちらの質問者と同じことをしたくて
マクロをいじっているのですがうまくいきません。
どなたか助けていただけないでしょうか?
0986デフォルトの名無しさん
2008/12/03(水) 01:26:13hatenaを読んでも判らないのならhatenaで聞くか諦めるのが宜しいかと。
0987デフォルトの名無しさん
2008/12/03(水) 01:34:27ただ単にセルにある値を順に.txtで保存するだけでしょ。
0988デフォルトの名無しさん
2008/12/03(水) 01:38:42.write Replace(ActiveSheet.Cells(i, 2).Value, vbLf, vbCrLf)
の部分で引っかかってしまって。
0989デフォルトの名無しさん
2008/12/03(水) 01:56:00Sub a()
F = "c:\data1\" 'フォルダ指定
r = 1
While Cells(r, 1) <> ""
Open F & Cells(r, 1) & ".txt" For Output As #1
Print #1, Cells(r, 2)
Close #1
r = r + 1
Wend
End Sub
0990デフォルトの名無しさん
2008/12/03(水) 02:03:26本当にありがとうございます。
助かりました!
0991デフォルトの名無しさん
2008/12/03(水) 08:03:120992デフォルトの名無しさん
2008/12/03(水) 08:24:40いい大人じゃないだろ。社会経験ほとんどない青二才丸出しだろ。
0993デフォルトの名無しさん
2008/12/03(水) 09:09:28Web閲覧を許可した場合のリスクとメリットの比率の問題だろ
メリットのほうが大きく上まれば許可するかも知れんが
そんなことはまずないなw
ところで誰か次スレを・・・
0994デフォルトの名無しさん
2008/12/03(水) 19:54:07マジで。
0995デフォルトの名無しさん
2008/12/03(水) 20:28:08excelで判らないことがあるとトイレに駆け込む姿を想像した
0997デフォルトの名無しさん
2008/12/03(水) 22:36:51言っても無駄な相手だからw
0998デフォルトの名無しさん
2008/12/03(水) 22:38:570999デフォルトの名無しさん
2008/12/04(木) 08:43:491000デフォルトの名無しさん
2008/12/04(木) 09:07:5810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。