[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/14 12:55 / Filesize : 253 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA質問スレ Part5



1 名前:デフォルトの名無しさん [2007/12/12(水) 17:27:44 ]
ExcelのVBAに関する質問スレです

質問前に 【 >>2-3 】 あたりを良く読むこと

前スレ
pc11.2ch.net/test/read.cgi/tech/1189814602/

671 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:18:49 ]
面倒だから、全ての自作オブジェクトの一覧と全てのプロシージャの一覧出しちゃえよ。
状況説明できない馬鹿にいくら聞いても説明しても無駄だって判ったからさ。

672 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:21:08 ]
>>670
いや、だから・・・
何かしらの処理が実現できない、っていう相談じゃなくて、コードの書き方が分からんってこと?

標準モジュールに記述したプロシージャは、どこかから呼ばれるまでは処理が走らない。
その前提の上で、特定のフォームの部品を扱いたいなら、○○(Userform名).Textbox1
例えば、デフォルトのオブジェクト名であれば、Userform1.Textbox1.Value でアクセスできる。
TextBox1.Value だけでは対象が分からんからエラーになる。 単にValue とだけ書くようなもん。


673 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:24:36 ]
うぜーーーー

Sub foo()
  UserForm1.TextBox1.Text = "abc"
  UserForm1.Show
End Sub

674 名前:672 mailto:sage [2008/02/05(火) 15:29:26 ]
>>670
あー、ごめん、よく考えたら 672の書き方じゃ絶対に分からんな。
まずはフォームの実体を取得しなきゃならんので、どこかから呼び出されるのを前提で、
”基本的には”標準モジュールのプロシージャに引数として処理対象のオブジェクトを渡すか、
フォームのインスタンスを作るトコから全て標準モジュールの処理で書かないといけない。


675 名前:デフォルトの名無しさん [2008/02/05(火) 15:39:12 ]
>>972-974
でけた^^
コードの書き方の問題なのかも分かりませんでした・・orz
ありがとうございました!

676 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:40:29 ]
感謝まで明後日の方向向いているよ。どうしようもねぇな。

677 名前:672 mailto:sage [2008/02/05(火) 15:42:12 ]
ワロタw


678 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:44:13 ]
>>674
なんか勘違いしてない?
インスタンス化はアクセスされると自動的に行われるよ?

679 名前:672 mailto:sage [2008/02/05(火) 15:55:59 ]
>>678
勘違い、つか、VBが特殊な使い方ができるだけで、
インスタンスを作ってから使うのが基本だと俺は思ってるから、自然とそういう書き方になった。
複数のインスタンスが持てないわけでもなし、何故突っ込まれるのかが分からんが。




680 名前:672 mailto:sage [2008/02/05(火) 16:00:40 ]
>>678
あ、スマン、書き込んでから言いたい事が分かった・・・。確かに、勘違いしてるように見える。
申し訳ない。


681 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:04:15 ]
少なくとも、VBA/VB6では、規定のインスタンス(暗黙のインスタンス化)を使うのが、
まぁデフォですので・・・。

682 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:16:38 ]
Windows XP + Excel 2000SP3です。

MouseWheel Fixをアドインマネージャに起動時/ロードで設定すると、VBEを開こうとすると
「インストールの準備中」のダイアログが出て先に進みません。

ただ、なぜだかその状態で一度Excelを終了させてすぐに起動すると、そのダイアログが
終了してVBEが立ち上がるようになります。

「起動時/ロード」を設定せずに、Excel起動後にロードしようとしても、やはり最初の一回は
「インストールの準備中」から先に進みません。

何か、解決法はあるでしょうか?




683 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:40:58 ]
自作のDLLをDeclareで参照して使うと、Excelを終了させないとDLLがアンロードされないみたいなんですが、
強制的にDLLをアンロードするにはどうすればいいですか?

684 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:57:04 ]
>>683
日本語訳はヘンテコなんでこっちで。

PRB: Loading and Unloading DLLs in the Design Environment
ttp://support.microsoft.com/?scid=kb%3Ben-us%3B129514&x=14&y=13

685 名前:≠683 mailto:sage [2008/02/05(火) 17:17:18 ]
つまり、Declare宣言を編集しようと試みると強制的にアンロードされるってことでいいのかな?

686 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 17:36:25 ]
>>685
Declareの"r"を削除して行を離れると、強制コンパイルされてDLLがアンロードされるから、
その行に戻って"r"をタイプして元通りにしろってことね。

687 名前:デフォルトの名無しさん [2008/02/05(火) 23:14:50 ]
i = 3

Do While Cells(i, 1) = "東京"
If Range(i, 10) = 1 Then
Range("i" & Columns.Count).End(xlUp).Value = st4 & st5
st1 = Range(i, 8)
st2 = Range(i, 9)

With ws2.Range("A" & Rows.Count).End(xlUp)
.Offset(0.1) = st1
.Offset(0.2) = st2

End With

i = i + 1
Loop

恐れ入ります。
A列3行目から”東京”となっている間ずっと、
もしその行の10列目が”1”であるなら”1”の一つ右の行を確認、
空白だったらST4とST5の文字列を貼り付ける。空欄でなかったらさらに一つ右の行を確認・・・(ループ)
さらにST1、ST2の文字列を貼り付け・・・
というのをループさせたいのですが、

”1”の一つ右の行を確認、空白だったらST4とST5の文字列を貼り付ける。空欄でなかったらさらに一つ右の行を確認・・・(ループ)
の部分がよく分かりません。また、実行してみてもLOOPに対するDOが無いとのエラーになってしまいます。

おばかな質問で恐縮ですが、よろしくお願いします。



688 名前:デフォルトの名無しさん [2008/02/05(火) 23:33:09 ]
i=i+1の前に end ifがいる。

689 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 06:52:49 ]
>>682
そんな現象なったことないが、原因分かんないならVectorとかで同種のソフト拾ってきて使えば?
もしくはExcelを再インストールして様子見るとか



690 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 09:48:27 ]
>>682
他のアドイン機能はちゃんと動作するのか確認して、異常がないようなら
MouseWheel Fix を一旦登録解除(クラスライブラリ)してから、再登録してみたら?


691 名前:682 mailto:sage [2008/02/06(水) 10:50:25 ]
>>689,690
コメントありがとうございます。

他のアドインは正しく動きました。また、MouseWheel Fixをregsvr32 /uして再登録してみたんですが
状況が改善しませんでした。

いろいろと検索していると、同種のアドインが見つかりましたので、それを試してみたらうまく
動作しているようなので、とりあえずはこちらを使うことにします。

AddAutoScroll for VB6/VBE6
ttp://homepage1.nifty.com/mtj-k/software/addautoscroll_vb6.html

692 名前:デフォルトの名無しさん [2008/02/06(水) 11:30:49 ]
OS vista
excel 2007

Dim i As Integer
Dim x(10), y(10) As Single
For i = 1 To 10
x(i) = i
y(i) = i
Next
Cells(1, 1).Value = Application.WorksheetFunction.LinEst(y, x)

linest関数を使いたいのですが、試しに上記のようなプログラムを作成したところ
肝心のlinest関数のところで「linestプロパティが取得できません」とエラーがでます
基礎的な間違いをしてる気がするのですが、どうかアドバイスをお願いします


693 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 11:53:18 ]
  'テキストファイルを開きます。
  Workbooks.OpenText Filename:=strFileName, _
    Origin:=xlWindows, _
    StartRow:=2, _
    DataType:=xlDelimited, _
    TextQualifier:=xlNone, _
    ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Space:=False, Other:=False, _
    Comma:=True, _
    FieldInfo:=Array( _
      Array(1, 2), Array(2, 1), Array(3, 2), Array(4, 2), Array(5, 2), _
      Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), Array(10, 2), _
      Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 1), Array(15, 1), _
      Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 2), Array(20, 2), _
      Array(21, 2), Array(22, 2), Array(23, 2), Array(24, 2), Array(25, 2), _
      Array(26, 1), Array(27, 2), Array(28, 2), Array(29, 2), Array(30, 2), _
      Array(31, 2), Array(32, 2), Array(33, 2), Array(34, 2), Array(35, 2), _
      Array(36, 2), Array(37, 2), Array(38, 2), Array(39, 2), Array(40, 2) _
    )


上記処理にてWinXP SP2 Office2003 SP3環境では問題なくシート表示するのですが、
WinXP SP2 OfficeXP (SP状態は不明です)の環境では文字化けして表示されます。
化けるフィールドとしては2バイト文字のところで、
テキストファイルとしては半角カナも全角漢字も混在のCSVで
改行コード、文字コードはCRLFのSjisです。

原因と対策がよくわからなくて困っております。
何かご存知でしたら教えていただければ、と思います。
よろしく頼みます。



694 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 12:28:21 ]
>>692
xの配列を渡さずに ~.LinEst(y) と書いたら動くから、パラメータの与え方が違うのかな?
スマンが使った事が無いので、識者を待つか、ヘルプを見れ。
ttp://office.microsoft.com/ja-jp/excel/HP100698381041.aspx?pid=CH100645381041


695 名前:692 [2008/02/07(木) 07:29:16 ]
すみません。
ただの宣言ミスでした。

Dim x(10) as single, y(10) As Single
としたら動きました。
>>694
どうもありがとうございます。
聞く時はもっと気を付けてからにしようと思います。


696 名前:デフォルトの名無しさん [2008/02/07(木) 12:10:10 ]

激しくスレ違いかもしれませんが、質問です。

PCゲームを多重起動しようと試みたのですがダメでした。
大抵のゲームはWindowsのアカウントを2つ作成し、別々のアカウントで起動すれば問題ありません。

現在、Vistaを使っているのでXPではどうなるかはわかりませんが(XPは右クリックから別ユーザーで起動が可能)、
Vistaでその手法をとる場合、runasコマンドを使用することになります。
しかしこのコマンドで別々に起動しても、後から起動したほうが無効になってしまいました。

で、ここからがわけわかめなのですが、同一のデスクトップからの起動はダメでも、
Windowメニュー→ユーザー切り替えをし、別々に起動すればうまくいきました。

この違いはいったいなんなのでしょうか?
 

697 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:28:40 ]
RMTでもやんのか?

どちらにしても激しくスレ違いだから帰れ。

698 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:43:46 ]
激しくスレ違いまで読んだ

699 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:06:37 ]
激しくまで読んだ



700 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:02:52 ]
sageがないので読んでない

701 名前:デフォルトの名無しさん [2008/02/09(土) 15:17:19 ]
Base64でファイル添付してメールを送りたいのですが、その方法があれば教えてください
CDO.Messageを使ってQuotedPrintableでの送信はできています

702 名前:デフォルトの名無しさん [2008/02/09(土) 15:29:15 ]
本文に追加すればいいことじゃないの

703 名前:デフォルトの名無しさん [2008/02/09(土) 15:36:00 ]
某エクセルスレで、以前に聞いたが全く回答の反応なしだったので、
ここでも、あまり、適切な話題ではないかもしれないが教えてくれ。
2002 + XP VBAマクロ、ドロップダウンリスト入力セル、関数式埋め込みセルが
あり、各ブックの大きさは700K〜2M程度の5つの同種類のブックを作ったのだが、
ブックによって、左下のステータスバーに(通常コマンドと表示されているところ)
が、セル移動で「再計算」が表示されるものと、「再計算」は表示されないものとの
2通りあるようになった。selection_changeイベント等求めている機能はいずれも
正常に動いている。

皆、コマンド、入力の表示のみで、再計算表示がされないようにしたいのだが、
どうしたらいいですか。


704 名前:701 mailto:sage [2008/02/09(土) 16:03:05 ]
>>702
Excelでソケット通信も含めて自作しろといってるようにしか聞こえないが

705 名前:デフォルトの名無しさん [2008/02/09(土) 16:32:41 ]
某エクセルスレで、以前に聞いたが全く回答の反応なしだったので、
ここでも、あまり、適切な話題ではないかもしれないが教えてくれ。
2002 + XP VBAマクロ、ドロップダウンリスト入力セル、関数式埋め込みセルが
あり、各ブックの大きさは700K〜2M程度の5つの同種類のブックを作ったのだが、
ブックによって、左下のステータスバーに(通常コマンドと表示されているところ)
が、セル移動で「再計算」が表示されるものと、「再計算」は表示されないものとの
2通りあるようになった。selection_changeイベント等求めている機能はいずれも
正常に動いている。

皆、コマンド、入力の表示のみで、再計算表示がされないようにしたいのだが、
どうしたらいいですか。


706 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:34:13 ]
>>704
最近のメーラは添付ファイルがアイコンなんかで表示されたりして隠蔽されて
いるけど,昔は送りたいバイナリをテキストにエンコードして文字通りメール
本文の下に貼り付けてましたよ。
↓こんなイメージ

-------ここから------------------------
encoded by なんちゃらかんちゃら
risdgfniefngoenogfaenogengopenoanongoneogneoagnoengea
fbwhibfiwbfiwbfiwbfiwbfibwibfiwbfiwbfiwbifbiwfbiwbfiw



707 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 03:48:29 ]
OS XP、Offce 2003
A1には半角英数字のみが入ってるとします。
このファイルには複数シートがあり、全シートにA1には違う文字列があります。
各A1の文字や文字数はシート毎にバラバラですが、半角英数字は変わりません。

質問としては、各シートのA1内に入っている半角大文字のみ
それぞれのシートB2に出力するのは可能?可能ならばヒントをお願いしたい
です。

708 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 08:19:57 ]
>>707
・セルA1内の文字列を取得する
・大文字があるか検索する
・文字列を組み立てる
・セルB2に設定する
・それらを全てのシートについて行なう

709 名前:デフォルトの名無しさん [2008/02/10(日) 15:33:57 ]
リテラルの中に、"(ダブルクォテーション)を含めるには、
どう書けば良いのでしょうか?





710 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:50:51 ]
””

711 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:07:26 ]
すいません。

A1からA4まで文章があります。

A2の横のセル(B2)にA4をカットペースト(A1A2A3は何もしない)をしたいのです。

For X = 1 TO 100 で
A 4*X+2の横のセル(B 4*X+2)にA 4*X+4をカットペースト
4*X+3 : 4*X+5 行を削除
Next i

というのをやりたいのですが、、初心者で分かりません。
特にセルのところをどうすればいいのか分かりません。教えてください。
どなたかお願いします。

712 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:11:50 ]
Cells(r, c).Value

713 名前:デフォルトの名無しさん [2008/02/10(日) 16:23:57 ]
>>704
補聴器買ったほうがいいと思うよw

714 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:36:38 ]
音は出てないから補聴器買ったところで聞こえようが無い

715 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:38:40 ]
>>713

>>704 には幻聴が聴こえるようだから精神科を薦めた方が良いのでは?

716 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:56:47 ]
そんなにいぢめてやらんでも・・・

717 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:02:23 ]
わかんねーから教習所に通ってんのに、お前らはなんにも教えてくれない自動車教習所の教官。
へたっぴな運転を見てからかってる。

718 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:29:04 ]
>>717
ウェ〜

719 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:47:18 ]
違うな、教習場に行けばいいのにこんな場末の練習場に来ている阿呆を見に来ている暇人だな。



720 名前:>711 mailto:sage [2008/02/10(日) 20:01:51 ]
やりたい事と合ってるかわ解らんが参考にしとくれ
行を削った後座標がズレるけど良いのか?

Sub TEST()
For I = 0 To 99
Cells(I + 4, 1).Cut Destination:=Cells(I + 2, 2)
Range(Rows(I + 3), Rows(I + 5)).Delete
Next I
End Sub

721 名前:デフォルトの名無しさん [2008/02/10(日) 21:12:35 ]
質問です。

例えば、Aの列にはデータを10〜20個入れたとして、
B1にデータ一個を入れます。
このとき、Cの列にはC1=A1-B1、C2=A2-B1・・・というように、
AのデータとB1の差を代入したいと思うのですが、簡単なやり方がわかりません。
確かコピペですいすいいけたと思うのですが・・・
ご教授お願いします。
使ってるのはXPsp1のexcel2002です。

722 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:28:24 ]
>>721
減算で。

Sub test001()
Range("A1").Resize(20).Copy Range("C1").Resize(20)
Range("B1").Copy
Range("C1").Resize(20).PasteSpecial Paste:=xlPasteAll, Operation:=xlSubtract, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

723 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:29:34 ]
For i=startRow To endRow
Cells(i,3).Value=Cells(i,1).Value-Cells(1,2).Value
Next

つかVBAの質問なの???

724 名前:デフォルトの名無しさん [2008/02/10(日) 21:34:29 ]
>>721
C1に=A1-$B$1
C1の右下つかんで下方向にびろ〜んとする

725 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:54:21 ]
>>722>>723
すいません、理解できませんwww
>>724
ありがとうございます〜

726 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:09:59 ]
>>720
ありがとうございます。。
というか自分、何やってんだorz

727 名前:デフォルトの名無しさん [2008/02/11(月) 20:33:25 ]
プログラミングは詳しくないのですが、どなかたご助力下さい。
(質問内容)
フォルダ内で「読取パスワードが設定されいてるEXCELファイルを検索する」

どなかた該当の命令文をおしえていただけないでしょうか。

728 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:00:10 ]
DOS窓を表示させないまま、DOS窓のコマンド使って標準出力の内容が欲しい場合ってどうすればいいですか?
Execだとウィンドウ非表示にできないし、Runだと標準出力につなげないんですが

729 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:19:36 ]
>>728
FAQ



730 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:55:12 ]
ぐぐれ
コンソール プロセスを生成して標準ハンドルをリダイレクトする方法

731 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 04:04:03 ]
KB173085

732 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 07:47:07 ]
いまだにDOS窓とか使ってるやつおるんかねぇ

733 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 09:13:59 ]
>>732
GUIがないソフトがあるんで使ってる。

734 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 12:20:00 ]
DOS窓とコマンドプロンプトは別物

735 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 12:20:53 ]
と言うか、WinXPにDOS窓って存在するの?

736 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 12:53:06 ]
>>735
アレを、ほとんどの人はDOS窓と呼ぶのだ。

737 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:12:58 ]
二つのテキストファイルABを読み取り比較した結果を表示するマクロを作りたい。
Aに行が挿入されてBになっている場合、Aにも挿入した分だけ空白行を入れて表示したいが、いい例はないものか。

738 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:21:08 ]
つ[/usr/bin/diff]

739 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:25:56 ]
Excel VBAスレでその回答はどうだろう



740 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:33:00 ]
抽象的な質問には抽象的な回答を。

741 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:05:52 ]
W9x Wme の DOS 窓は文字通り DOS 窓って言って良いんだけど
コマンドプロンプトは DOS とは互換性がないからなぁ

742 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:08:38 ]
コマンドプロンプトってDOSのエミュレートじゃないの?
DOSプログラムは、コマンドプロンプトでは動かないの?

743 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:12:13 ]
DOSプログラムも動くからDOS窓でいいじゃん

744 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:12:41 ]
>>271
本尊乙

745 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 18:44:34 ]
質問です。
以下のが「スタック領域が不足しています」で通りません。
多分再帰が問題なんだろうけど、よくわかりません。
VistaのExcel2007です
If文以降に問題があると思うんですけど…

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Ein As Integer
Dim Fin As Integer
Dim Year As Integer
Dim Month As Integer

Year = Range("C2").Value
Month = Range("E2").Value

Ein = Weekday(Year & Month & "1", 1)

Cells(5, 1 + Ein) = ("1")

If Month = 2 Then
Fin = 28
Else
Fin = 31
End If

Cells(10, 10).Value = Fin
End Sub

746 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 18:50:08 ]
>>745
Application.EnableEvents = False
Cells(5, 1 + Ein) = ("1")

If Month = 2 Then
Fin = 28
Else
Fin = 31
End If

Cells(10, 10).Value = Fin
Application.EnableEvents = True


747 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:01:08 ]
>>746
ありがとうございますm(_ _)m
おかげさまで解決しました

748 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:04:58 ]
>>742
コマンドプロンプトは純粋なWin32プログラム。
仕様面でDOSの流れを大きく受け継いでいるけど。

コマンドプロンプトの中でDOSプログラムを動かすときには、
NTVDM (NT仮想DOSマシン)でDOS環境をこさえて、
その中でcommand.comを起動し、それから目的のプログラムを実行する。

それ以外だと直接NTVDMから始まるが後は同じ。

749 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:45:34 ]
コマンドプロンプトとDOS窓の区別が付いてないやつはVBAとマクロの区別も付いていない

間違いない



750 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:45:26 ]
>>727
無理せずテンポラリファイルにリダイレクトして読め

751 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:45:31 ]
んなもん、どーでもいい。

752 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:24:27 ]
>>738
それをEXCEL VBAでやりたい。
(UNIXでやれよ、というのは不可)

753 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:43:48 ]
>>752
行が挿入されたものか、一部改変されたものかの判断って、どうやるつもり?
判別の難しさと、それに伴う処理速度考えたら現実的じゃないと思うが。
前後データまで絡める判別はVBでは実用的じゃないし、ロジックの問題なら他スレ行け。


754 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:22:17 ]
>>752
私だったらピボットテーブル使う。
それぞれのテキストをA列に、B列にはどっちのテキストなのかわかる記号を入力しとく。後はわかるでしょ。

755 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:34:02 ]
diffのソース読めばいいよ

756 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 12:21:30 ]
アドバイス多謝。

>>753
>行が挿入されたものか、一部改変されたものかの判断って、どうやるつもり?

一部改変については、次の行を比較して、一致なら改変、そうじゃなければ挿入と考えるつもり。
(二行改変は考慮しない)

問題は、挿入か削除か。
そのセルを上方検索し、見つかれば削除、でなければ挿入って判断かな。

ロジックってこの板?

757 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 12:47:07 ]
他人を巻き込んでダラダラやらずに、diffのソース読んだほうが早いって

758 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 13:14:21 ]
shell c:\windows\windiff.exe

759 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:50:59 ]
つfc.exe



760 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:52:35 ]
"c:\program files\support tools\windiff.exe" /?

761 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:07:24 ]
良回答認定>>760

だがスレ違い

762 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 09:57:51 ]
>>758-760
神認定


と思って報告したら、
「入ってるPCと入ってないPCがある」と言われたorz

763 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:26:24 ]
winmerge

764 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:36:29 ]
cdiff.vbs

765 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:41:39 ]
2つのExcelファイルをdiffするのをVBAでやりたいのですが?

766 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:47:32 ]
やればぁ?

767 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:34:31 ]
やってくださいよ

768 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 17:25:09 ]
つc:\program files\support tools\bdiff.exe

769 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 18:52:16 ]
エクセルの機能にある、「Webページとして保存」ではなく

1.htmlを記述してあるシートをコピー
2.メモ帳に貼り付け、test.txtとして保存。
3.2のtest.txtをtext.htmlに名前を変更。

というような動作をVBAで自動化できるでしょうか。
もし、似たようなことが可能であれば教えてください。



770 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 18:58:33 ]
できるけどエクセルでやるようなこと?

771 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 19:05:58 ]
メモ帳を自動化するのはむずかしい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<253KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef