Quantcast
Channel: OKWAVE 最新質問(Visual Basic/257)【本日】
Viewing all 6510 articles
Browse latest View live

IE制御でのタブへのアクセスの方法は?

$
0
0
vb.netでIEを直接制御する方法でのアプリを作成しようとしています。 そのアプリは、あるHPを起動してユーザID、パスワードを入力しログインのボタンを押すと、つぎのページが新しいタブに表示されます。次にその新しいページ中のボタンを押下するのに、タブのページにアクセスする方法をご教示して頂きたくお願いします。そのページのURLは固定で判っています。 環境はWindows 7、VB 2010 Express、IE11です。 よろしくお願い致します。

Callで呼び出し後にそのCallで例外が発生

$
0
0
例えば、下記のCallでプロシージャProc1を実行した後に、そのCallで例外(HRESULT からの例例:0x800A01B6)が発生します。 Call Proc1(a, b, c) デバッグモードでこのCallにストップをかけ実行します。停止した後に1ステップごとに実行を進めるとと、Proc1が正常に終了した後、このCallで例外が発生したと報告されます。 環境は、Windows 7、VB 2010 Express、IE 11です。 何が起こっているのでしょうか?

テーブルのプロパティの説明欄消失

$
0
0
ACCESS VBAで以下のような指定でインポートを行っています。 DoCmd.TransferDatabase acImport _ , "Microsoft Access" _ , S_FileName _ , acTable _ , hairetu(j) _ , hairetu(j) _ , False インポートは正常にできるのですが、テーブルのプロパティの説明の記述が消えてしまいます。 消えなくする方法はありますか? できなければ、プログラムで付与する方法はありますか?

VB.net 引数で配列変数を渡す際の要素数

$
0
0
VB.net 2010 の質問です。 配列変数を他のプロシージャに引数で渡す際の、配列変数の要素数をあらかじめ宣言していないとエラーになります。 Dim Hairetsu() As String ' ←エラー Dim Hairetsu(100) As String ' ←正常 Public Sub aaa(ByRef Hairetsu() As String) Hairetsu(0) = "Test" '←正常の場合と、エラーの場合 End Sub Hairetsu(100) のように、要素数を宣言していると、エラーにならないのですが、 プログラム中、要素数がどこまで増加するか、分かりません。 Hairetsu()のように、要素数未確定の配列変数を渡すことは出来ないのでしょうか。 ご存知の方がいらっしゃいましたら、なにとぞアドバイスの程、よろしくお願いいたします。

ファイルの移動について

$
0
0
いつもお世話になっております。 ファイルの移動についてです。 A列にファイルの一覧があります。 この一覧にあるファイルを全てTドライブのフォルダに同じ配下で移動したいのです。 A列 ファイル S:\未完成\data\DA00001146.xls S:\未完成\test\data\DA00001147.doc S:\未完成\test\DA00001148.ppt 逆スラッシュは実際には半角の¥で表示されています。 ファイル T:Sドライブ\未完成\data\DA00001146.xls T:Sドライブ\未完成\test\data\DA00001147.doc T:Sドライブ\未完成\test\DA00001148.ppt movefile を使うとFileObjectSystemを使うことになり 私には変数をどのように設定していいかわかりません。 Sub test() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") ''C:\Tmp\フォルダ内の*.xlsをC:\Work\フォルダに移動します FSO.MoveFile "C:\Tmp\*.xls", "C:\Work\" Set FSO = Nothing を探してきて、何とかしようと思ったのですが、うまく 使えませんでした。 ご教授ください。 よろしくお願いします。

EXCEL VBA UserForm のご質問

$
0
0
よろしくお願いします ユーザーフォームに決定ボタンで、テキストボックスを任意の数追加しました。 追加されたテキストボックスにD1.D2.D3.D4・・・と名前をつけ、それぞれに 1.2.3と数値を記入し、 登録ボタンをクリックした後ワークシートkeyplanの 指定したセルD30~G30へ代入させようとしたところ、 「変数が定義されていません」となってしまいます。 Nameの付け方が悪いのでしょうか。転機の仕方が悪いのでしょうか。 マクロを勉強し始めて日が浅いので、対処の方法がわかりません。 ご回答よろしくお願いします。 Option Explicit Private Sub UserForm_Initialize() worksheets("keyplan").Select End Sub Private Sub 決定_Click() Dim txt As Variant Dim i As Integer 'テキストボックスを配置 i = nyuryokubox() For i = 1 To i Set txt = Me.Controls.Add("Forms.Textbox.1", , True) With txt .Width = 20 .Height = 18 .Top = 300 .Left = 1 + (.Width + 80) * (i + 1) .BorderColor = &H666666 .BorderStyle = fmBorderStyleSingle .Font.Size = 15 .Name = "D" & i End With Next End Sub Private Sub 登録_Click() With worksheets("keyplan").Select .Range("D30").Value = D1.text .Range("E30").Value = D2.text .Range("F30").Value = D3.text .Range("G30").Value = D4.text End With End Sub 変数 i にはテキストボックス(nyuryokubox)に直接数値を入れるようにしています

Excelセル入力後上書き保存で他ブックへコピー

$
0
0
ExcelでBブックSheet1のB列とD列にそれぞれA列の日付ごとに入力し(1月2日)上書き保存した際、Bブックの日付ごとに入力した文字がAブックSheet1のA列日付にマッチしたのB列とC列にコピーしたいのですがどなたかVBAコードが解る方よろしくお願いします。 尚、BブックSheet1の各行はBとC列及びDとEとF列はセル結合となっています。

.BATでクリップボードに複数の文字をコピーしたい

$
0
0
宜しくお願いします。 山川谷.BATをダブルクリックすれば、 クリップボードに、”山”をコピーし、続いて、”川”、”谷”を順次コピーする様な コードをお教え下さい 『谷』のみをクリップボードにコピーするコードは見つかりました ( SET /P<NUL="谷"|clip ) が、知識が無く、応用が全く利きませんので お教え下さいます様、宜しくお願い致します。

TextFile1.txtを表示させる

$
0
0
MenuStripのメニュー「ヘルプ」(説明書き)をクリックするとWindowsフォームのTextFile1.txtを表示させたいのですが、どのようなコードを書けば良いのでしょうか。宜しくお願いいたします。

シートに張り付けたボタンがシートのコピーで消える。

$
0
0
Excel2003で作成した図書館員の当番表でマクロで当番表を自動作成させています。 サンプルとして用意した当番表のシートを実際の月当番表を作成するときに、シートのコピーをして作成します。シートはコピーされたのですが、そのシートに張り付けた印刷ボタン(クリックすると自動印刷)が今まで一緒にコピーされたのですが、コピーされません。 マイクロソフトの前回の問題と関係するのでしょうか? コピーされていた古いファイルでしても同様です。

VBSでIEを起動し、拡大率を変更したい

$
0
0
VBScript初心者です。 IEを起動し、さらに表示倍率を変更したいのですが、 方法がわからずとても困っています。 ウィンドウの大きさではなく、表示倍率です。 ご教授よろしくお願いいたします。

エクセルVBAでwebのソースコードを検索&取得

$
0
0
webページのソースコードを検索して、検索した文字列に続く3文字を取得したいです webページのソースコードが下記だと仮定します (ソースコード)   AAA   ABC***   BBB   CCCAAA ABC という文字列を検索して、***という変数を取得したいです ***の部分は毎回変わる、英数字のランダムな文字です 説明が下手で申し訳ありません どの様に取得すればよいかわかりません どうぞよろしくお願い申し上げます

エクセル マクロでのエクセルファイル取込について

$
0
0
エクセルで別のエクセルファイルをマクロで取込み、取込したデータを自動で任意の場所にデータが入力されるようなものを作りたいと考えています。 csvデータの取込は作ることが出来たのですが、エクセルファイルをcsvデータのように取込することは出来ないでしょうか? 出来ないとしたら、取込したいエクセルファイルを一度csvで保存してからcsvとして取込するというやり方で対応するしかないでしょうか? 出来れば、取込したいエクセルファイルのシートが複数にわかれていて、全シートの情報を取込したいと考えているので、エクセルのままで全シート取り込めれば・・と思います。 何か上記の方法でなくとも、最善の方法(一番工数が少なく済む方法)があれば教えていただきたいです。 よろしくお願いします。

2回通らないようにするにはどうすればいい

$
0
0
開発言語は VB.net DateTimePicker1.ValueChanged のイベントにプログラムが入っています。 DateTimePicker1の値を「ユーザー」が変更した場合、ある条件でその変更を取り消しもとに戻すというプログラムが含まれています。 このときにDateTimePicker1.ValueChanged のイベントが 「ユーザー」が変更した時、「プログラム」が変更した時、合計2回通ってしまいます。これを1回しか通らないようにするにはどうするのがよいのでしょうか? If SystemChanged = True Then 'システムで日付を戻した時に2回通るを防ぐ SystemChanged = False 'システムで日付を戻した時に2回通るを防ぐ Else If Change() = True Then '処理(割愛) Else SystemChanged = True 'システムで日付を戻した時に2回通るを防ぐ DateTimePicker1.Value = Day '移動前の稼働日に戻す End If End If このようにするしかないのでしょうか?  よろしくお願いします。

フォルダの移動について

$
0
0
毎度お世話になります。m(__)m 例えばHドライブにある全フォルダを同じ階層を保ったまま フォルダだけ、Kドライブに作成するということは 可能でしょうか? H:\未完成\D001512.xls H:\未完成\A027739.xls H:\完成\製造\M124.xls H:\完成\営業\S117.xls とあったとすると K:\未完成 K:\完成\製造 K:\完成\営業 とこんな感じにバシャッと... そんなこと夢物語ですかね... よろしくお願いします。

VBAでコマンドプロンプトの結果を変数に代入

$
0
0
コマンドラインソフトのffmpegを使って、動画の再生時間などを取得したいのですが VBAでコマンドプロンプトの結果を変数に代入する方法について教えてください。 "D:\xxxx\ffmpeg\bin\ffmpeg" -i "d:\xxxx\aaff.mp4" 2>&1 | grep Duration これをコマンドプロンプトで実行すると d:\xxxx\aaff.mp4の再生時間などがコマンドライン上に表示されます。 これを変数に代入するために、 http://officetanaka.net/excel/vba/tips/tips27.htm このページを参考にして Sub Sample1() Dim WSH, wExec, sCmd As String, Result As String Set WSH = CreateObject("WScript.Shell") ''(1) sCmd = """D:\xxxx\ffmpeg\bin\ffmpeg"" -i ""d:\xxxx\aaff.mp4"" 2>&1 | grep Duration" Set wExec = WSH.Exec("%ComSpec% /c " & sCmd) ''(3) Do While wExec.Status = 0 ''(4) DoEvents Loop Result = wExec.StdOut.ReadAll ''(5) MsgBox Result Set wExec = Nothing Set WSH = Nothing End Sub を実行しました。 しかしResultには何の文字列も代入されませんでした。 恐らく、このページのタイトルにもあるように「MS-DOSコマンドの標準出力を取得する」 とあるので、標準出力しか取得できないのではないかと思います。 それでは一般的なコマンドラインソフトの実行結果を変数に代入するにはどうしたら良いでしょうか?

VBSで起動したアプリが前面表示しない

$
0
0
Powerpointをコンテキストメニューに「読み取り専用」を追加するために以下のVBscriptを起動すると前面表示されません。 どうしたら前面表示されますでしょうか? 起動コマンド wscript.exe "C:\Program Files\Microsoft Office\Office14\OpenPptAsReadOnly.vbs" "%1" 以下がVBscript(OpenPptAsReadOnly.vbs)です。 Dim strPPTFileName Dim objPPTApp '引数のチェック If WScript.Arguments.Count <> 1 Then WScript.Quit 'ファイル名取得 strPPTFileName = WScript.Arguments(0) '起動 Set objPPTApp = WScript.CreateObject("Powerpoint.Application") objPPTApp.Visible = True '読み取り専用で開く Call objPPTApp.Presentations.Open(strPPTFileName,True) '終了処理 Set objPPTApp = Nothing WScript.Quit

vb2008です。ListViewついてです。

$
0
0
初心者です。説明に分かりにくい所もあるかと思いますがよろしくお願いします。 csvファイルを用いてListViewで一覧の作成をしています。 Using textPatser As New Microsoft.VisualBasic.FileIo.TextPatser("C:¥~¥.csv",System.Text.Encoding.GetEncoding("UTF-8")) textPatser.TextFiledType=FileIo.FiledType.Delimited textPatser.HasfildsEnclosedInQuotes=True textPatser.SetDelimitedrs(",") ListView1.Items.Clear() While Not textPatser.EndOfData Dim fields As String() = textPatser.ReadFields() ListView1.Items.Add(New ListViewItem(fields)) End while End Using のコードにてListViewの一覧に入力しました。 一覧に国名の列があり0001,0002,0003....と入力しています。 別のcsvファイルに数字のコードと国名 国コード,国名 0001,日本 0002,アメリカ 0003,フランス と作りました。これを認識、0001の所は、日本と表示出来るようにしたいのですが 仕方を知りたいです。よろしくお願いします。

Exel 一部のセルにのみ、閲覧制限をかけたい

$
0
0
EXELの一部のセルにのみ、閲覧制限をかけるようなことは可能でしょうか?    A B   C  D 1 いち ◆   ご ☆ 2  に ◇  ろく ★ 3 さん @  なな & 4 よん ◎  はち ◇ パスワードを知っている管理者の人だけが全て見ることができて、 パスワードを知らない一般の人は、BとDの行だけが見えないようにしたいのです。 現在は、管理者と一般の人で、別々でコピーしたファイルを使用しているのですが、 例えば、 一般の人が「さん」の部分を編集したら、 管理者のものも「さん」の部分も編集されるようにしたいのです。 管理者が5という列を挿入したら、 一般の人のものも、5という列が挿入されるようにしたいのです。 わかりづらくて申し訳ありません。 エクセルでやることが難しければ、プロのシステム開発屋さんに頼んで開発してもらうことも検討しています。 縦が800まであるような膨大な量のデータを扱っているので、 連携をとるのが非常に大変です。 何か良い方法はないでしょうか? 宜しくお願い致します。

VBAで最大値と2番目の取得方法

$
0
0
Excel上のVBAで資料作成をおこなっているのですが、一部、どうしたら良いのかわかりません。 アドバイスをお願いいたします。 ■やりたいこと  ・Excelの一覧表で、行ごとに1番大きい値と2番目に大きい値を取得する。  ・取得する際、項目名(1行目にある値)も併せて取得する。  ・取得数の上限は2件のため、1番目、2番目がそれぞれ複数ある場合、   あらかじめ用意してある、優先順位の表にしたがって上位2件を取得する。 ■例  ・図のような成績表があった場合、取得結果は以下を想定しています。   Aさん→国語:100、英語:90   Bさん→数学:100、社会:90   Cさん→国語:80、数学:60  ※   ・Aさん:    ・最大値→国語:100    ・2番目→英語:90    最大値、2番目ともに、そのまま取得でOK。   ・Bさん:    ・最大値→数学:100     そのまま取得でOK    ・2番目→理科と社会の90     優先順位で社会が上位にあるため、社会を取得。   ・Cさん:    ・最大値→国語と英語の80     優先順位で国語が上位にあるため、国語を取得。    ・2番目→数学と理科の60     優先順位で数学が上位にあるため、数学を取得。 よろしくお願いします。
Viewing all 6510 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>