『Visual Basic』に関する質問・疑問一覧

関連カテゴリ

次へ  ]
22014件中 141~160件目
  • マクロで複数の行をまとめて切り取りする方法

    Iの列のセルに「テスト」があったら、その行を切り取ってシート2に貼り付ける といった流れのコードが下記です。 Sub 切り取り() Dim i, LastRow As Long LastRow = Cells(Rows.Count, 9).End(xlUp).Row For i = 1 To LastRow If Cells(i, 9) = “テスト” Then Rows(i).Cut Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) End If Next i End Sub ●Iの列のセルに「テスト」と「課題」があったら、その行を切り取ってシート2に貼り付ける といったものをしたいのです。 1. If Cells(i, 9) = “テスト” Then ↓ If Cells(i, 9) = “テスト,課題” Then 結果エラー 2. If Cells(i, 9) = “テスト” Then ↓ If Cells(i, 9) = “テスト&課題” Then 結果エラー 正常なコードを教えてくださいますか? 宜しくお願いします。

    2018/09/13 09:37
  • アプリケーションの自動操作について

    はじめまして、プログラミング初心者です。よろしくお願いします。 現在下記のオンラインカジノのアプリケーションソフトの 自動操作が行えるようなソフトの開発を行いたいと思っています。 ・ウィリアムヒルカジノ https://freshcasinobonus.com/bonuses-by-games/bingo-bonuses ヨーロピアンルーレット 実現したいのは、 1.ローカルにダウンロードしたカジノソフトでプレイした履歴を自動で取得 2.自動で取得したプレイ履歴から傾向を解析 3.解析結果の表示 4.解析結果の検証用に自動プレイ 現在悩んでいることが ・そもそも、カジノソフトが何の言語?でできているか? ・自動で履歴を取得することが可能か?(ローカルとカジノ側サーバーの通信履歴の取得?) ・取得・解析・表示・自動プレイを実現する言語は何がよいか? ・自動プレイは可能か? と多々あります。 申し訳ありませんが、ぜひ皆さまから御意見いただきたく思い投稿させていただきました。 何とぞよろしくお願いいたします。

    2018/09/08 21:26
  • Excel VBA の if elseについて

     以下は与えられた自然数が素数であるかどうかを判定する、Excel VBA による素朴なコードです。  自然数が2 とそれ以上の場合で処理を分けていますが、5 行目のelseで   対応するifがないという というコンパイルエラーが出ます。私はプログラミング言語は、Pascal しか経験がなく、Pascal の場合 5 行目の else から後の処理したい複数の構文を begin end で囲めば問題なく動きます。  Excel VBA で同じ処理をさせるにはどうしたらいいのでしょうか?  Worksheets("素数").Activate  '"素数"シートをアクティブにする  Flg = 0  Target = Range("D5").Value  if Target = 2 then MsgBox ("2 は素数です。")  else  'else 対応するifがないというエラーが出る  'begin ・・・・・ Pascalの場合    K = Int(Target / 2)    ' 2 以外の素数は奇数なので偶数で割ることを確認する必要はない。    For I = 3 To K Step 2     If Target Mod I = 0 Then      Flg = 1      Exit For     End If    Next I       Snum = Format(Target)    If Flg = 0 Then     MsgBox (Snum + " は素数です。")    Else     MsgBox (Snum + " は素数ではありません。")    End If  'end ・・・・・ Pascalの場合  End If

    2018/08/31 09:01
  • VB BitBlt他でのエラー

    ネットを見ながらVisual Basicを触り始めたのですが、下記のようなコードを実行すると「スタックを不安定にしています」といった感じのエラーが出てしまいます。 多分基本的な見落としだとは思うのですが、調べても上手い解決策が見つからず、質問させて頂いた次第です。  どうか、皆様のお知恵をお貸しください。 ・環境 Windows7 64bit - Microsoft Visual studio2017 - Visual Basic - Windowsデスクトップ - Windowsフォームアプリケーション ・やりたい事 別ソフトのウィンドウのタイトル、座標、画像を取得したい。 ・エラー 下記コードを開始(上の緑の三角)して実行すると、(1)のGetForegroundWindowは問題ないのですが、(2)のGetClientRect、(3)のGetWindowText、(4)のBitBltの部分を実行する際に、次のようなエラーが出てしまいます(3か所とも、関数名以外は同じエラーです)。 マネージド デバッグ アシスタント 'PInvokeStackImbalance' Message=マネージド デバッグ アシスタント 'PInvokeStackImbalance' : 'PInvoke 関数 'WindowsApp1!WindowsApp1.Form1::BitBlt' がスタックを不安定にしています。PInvoke シグネチャがアンマネージ ターゲット シグネチャに一致していないことが原因として考えられます。呼び出し規約、および PInvoke シグネチャのパラメーターがターゲットのアンマネージ シグネチャに一致していることを確認してください。' ・コード Imports OpenCvSharp Public Class Form1 Declare Function GetForegroundWindow Lib "user32" () As Long Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As Rect) As Long Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Public Const SRCCOPY = &HCC0020 'S Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click System.Threading.Thread.Sleep(1000) '指定ミリ秒待機する Dim hWnd As IntPtr = GetForegroundWindow() '(1)選択ウィンドウのハンドルを取得 'Dim winRect As New Rect 'GetClientRect(hWnd, winRect) '(2)ウィンドウ座標取得 Dim Title As String = Space(255) Dim ret As Long = GetWindowText(hWnd, Title, Len(Title)) '(3)ウィンドウのタイトルを取得 Title = Microsoft.VisualBasic.Left(ret, InStr(ret, vbNullChar) - 1) Dim img As IntPtr BitBlt(img, 0, 0, 100, 100, hWnd, 0, 0, SRCCOPY) '(4)ウィンドウの画像を取得 End Sub End Class

    2018/08/28 22:18
  • VBAで別シートの必要データの値をコピーし貼付け

    sheet2の項目よりsheet1の必要項目の値のみを貼り付けたいのですがsheet1のC列5行文字入力があり次の行以降にsheet2のセルB2以降の範囲のsheet1の2行目必要項目に対しての入力値の値のみを入力したいのですがsheet2入力値は何百項目あります。 どなたかVBAコードが解る方よろしくお願いします。

    2018/08/18 23:53
  • アップデート後もOutlook 「あ」で開きたい

    Windows10で Outlook2013を起動したとき、IME入力モードを通常開く「A」ではなく「あ」で開きたい。 Windows10アップデートをするまでは、VBAの記述が Private Sub Application_Startup() SendKeys ("{kanji}") SendKeys ("{NUMLOCK}") End Sub で「あ」で開けておりました。 Windows10アップデート後、「あ」で開けません。 Windows7 Outlook2010 の環境では、上記の記述で開けております。 Windows10アップデート後、Outlook2013を「あ」で開きたいのです。 VBAの記述をお教えいただきたく、よろしくお願いいたします。

    2018/08/18 16:05
  • VB.netの重複データ数カウントについて

    下記コードを行ったときに 重複データ数のカウントを行いたいです。 テーブルアダプタを使っているためVB側でのカウントの仕方がわからないです。 メッセージで「●件中▲件登録しました」と表示したいです。 【DBのカラム】 date, IDcode 【現在のコード】 If TableDataGridView.RowCount = 1 Then MsgBox("登録するデータがありません") Else For Each dr As DataRow In DataSet1.Tables(0).Rows Me.TableTableAdapter.InsertQuery(dr("date"), dr("IDcode")) Next Me.Close() End If INSERT INTO [dbo].[Table] ([date], [IDcode]) SELECT @date, @IDcode WHERE NOT EXISTS(SELECT * FROM [dbo].[Table] WHERE [IDcode] = @IDcode); お知恵をお貸しください。 どうぞよろしくお願いいたします。

    2018/08/16 11:27
  • VB.netのTableAdapter.Inser

    VB.netについて質問です。 TableAdapter.InsertQueryについて質問になります。 ・データセットに紐づいているDataGridViewからTableAdapter.InsertQueryを利用してDBに登録したい。 ・DBに登録されているIDcodeデータとDataGridViewのIDcodeデータを比較し、DataGridViewのIDcode重複データは除いてDBに登録したい。 (1)現在のコードですと同じものを再度登録すると主キーエラーが出てしまいます。 DBではIDcodeを主キーにしております。 (2)SQLでWHERE NOT EXISTS文をいれている(重複ははじいているつもり)のですがダメです。 皆様のお知恵をお貸しください。 【DBのカラム】 date, IDcode 【現在のコード】 If TableDataGridView.RowCount = 1 Then MsgBox("登録するデータがありません") Else For Each dr As DataRow In DataSet1.Tables(0).Rows Me.TableTableAdapter.InsertQuery(dr("date"), dr("IDcode")) Next Me.Close() End If 【InsertQuery(@date, @IDcode)の中身】 INSERT INTO [dbo].[Table] ([date], [IDcode]) VALUES (@date, @IDcode); SELECT date, IDcode FROM [dbo].[Table] WHERE NOT EXISTS(SELECT * FROM [dbo].[Table] WHERE [IDcode] = @IDcode) order by IDcode どうぞよろしくお願いいたします。

    2018/08/14 13:04
  • マクロ 並び替え エラーがでる

    マクロの記録で以下のようなマクロを作りましたが、実行するとエラー91「オブジェクト変数またはブロック変数が設定されていません」とでます。どう直したらよいでしょうか? Sub Macro6() Columns("A:L").Select Selection.AutoFilter ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _ ("A1:A497"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("B2").Select End Sub

    2018/08/04 13:01
  • wpf datagrid メモリリーク

    wpfのdatagridを利用してデータ表示しております。 1レコードを多段構成で表示するため、ユーザーコントロールにdatagridを配置し、グリッド内に各コントロールを配置する方法で実現しております。 チェックボックスも配置しており、スクロール時に初期化される現象が発生したため、仮想化をOFFにしております。 少ないデータ件数であれば問題ないのですが、大量データ(3500件程度)の場合には メモリリークしてしまいます。 DataGridにチェックボックスを配置した場合の実装で、上記の事象を 改善する方法をご存知の方がいらっしゃいましたらご教授頂けると幸いです。 以下2つが実装しているxamlとなります。 ★Grid_Tab_Roke_Main  ユーザーコントロールにDataGridを配置したものとして実装しています。 <UserControl x:Class="Grid_Tab_Roke_Main" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:_XX_WPF商品管理" mc:Ignorable="d" d:DesignHeight="200.373" d:DesignWidth="300" Height="Auto" Width="Auto"> <DataGrid ItemsSource="{Binding}" VirtualizingStackPanel.IsVirtualizing="False" VirtualizingStackPanel.VirtualizationMode="Standard" EnableColumnVirtualization="False" EnableRowVirtualization="False" ScrollViewer.CanContentScroll="True" ScrollViewer.IsDeferredScrollingEnabled="True" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" HeadersVisibility="None" Margin="0,0,0,0"> <DataGrid.Columns> <DataGridTemplateColumn > <DataGridTemplateColumn.CellTemplate> <DataTemplate> <local:Grid_Tab_Roke_Detail /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </UserControl> ★Grid_Tab_Roke_Detail グリッド内にコントロールを配置しており、データテーブルよりバインドしています。項目は全て数点を抜粋して記載しております。 <UserControl x:Class="Grid_Tab_Roke_Detail" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" Height="70" Width="1227" Background="White" Loaded="UserControl_Loaded"> <Grid> <TextBox x:Name="Text_Roke" Text="{Binding ロケーション名, Mode=OneTime, StringFormat=\{0:N0\}}" HorizontalAlignment="Left" Height="21" Margin="56,22,0,27" TextWrapping="Wrap" VerticalAlignment="Center" Width="181" RenderTransformOrigin="0.406,0.026" Background="{x:Null}" FontFamily="Arial" VerticalContentAlignment="Center" FontWeight="Bold" MaxWidth="200" MinHeight="16" IsHitTestVisible="True" FontSize="16" Foreground="Black"/> <TextBox x:Name="Text_HinCD" Text="{Binding 商品コード, Mode=OneTime, StringFormat=\{0:N0\}}" HorizontalAlignment="Left" Height="21" Margin="242,22,0,27" TextWrapping="Wrap" VerticalAlignment="Center" Width="62" RenderTransformOrigin="0.406,0.026" Background="{x:Null}" FontFamily="Arial" VerticalContentAlignment="Center" FontWeight="Bold" MaxWidth="150" MinHeight="16" IsHitTestVisible="True" FontSize="16" Foreground="Black"/> <CheckBox x:Name="Chk_Sentaku" Content="選択" IsChecked="{Binding IsSelected.Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Margin="3,3,0,0" VerticalAlignment="Top" Width="48" Height="65" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" /> <TextBox x:Name="Text_HinNM" Text="{Binding 商品名, Mode=TwoWay, StringFormat=\{0:N0\}}" HorizontalAlignment="Left" Height="21" Margin="304,22,0,27" TextWrapping="Wrap" VerticalAlignment="Center" Width="330" RenderTransformOrigin="0.406,0.026" Background="{x:Null}" FontFamily="Arial" VerticalContentAlignment="Center" FontWeight="Bold" MaxWidth="350" MinHeight="16" IsHitTestVisible="True" FontSize="16" Foreground="Black"/> </Grid> </UserControl>

    2018/07/31 16:15
  • WPFのチェックボックス

    VisualBasic 2013 でWPFを利用してグリッドを作成しております。 ユーザーコントロールにDataGridを配置し、Grid内にチェックボックスを1つ 配置しています。 データ表示後は1レコードに1つチェックボックスが配置された状態と なります。 データ表示は問題なく行えるのですが、チェックボックスの動作が 想定と異なってしまいます。 ・現在チェックボックスの挙動  複数レコードでチェックボックスのチェックを付けた場合、  画面をスクロールするとチェックが消える。 このような現象が発生する原因と対策がお分かりの方がいらっしゃいましたら ご教授頂けると幸いです。 上記現象が発生するxamlは以下の通りです。 <UserControl x:Class="Grid_Tab_Roke_Detail" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" Height="70" Width="1227" Background="White"> <UserControl.Resources> <!-- ラジオボタンの共通styleを指定 --> <!-- トグルボタン風に押すと色を変える --> <Style TargetType="{x:Type CheckBox}" BasedOn="{StaticResource {x:Type ToggleButton} }"> <Style.Triggers> <!-- 未チェック時は透明 --> <Trigger Property="IsChecked" Value="{x:Null}"> <Setter Property="Background" Value="Transparent" /> </Trigger> <Trigger Property="IsChecked" Value="False"> <Setter Property="Background" Value="Transparent" /> </Trigger> <!-- チェック時は青 --> <Trigger Property="IsChecked" Value="True"> <Setter Property="Background" Value="Blue"/> </Trigger> </Style.Triggers> </Style> </UserControl.Resources> <Grid> <CheckBox Content="選択" IsChecked="{Binding IsSelected.Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Margin="3,3,0,0" VerticalAlignment="Top" Width="48" Height="57" /> <TextBox x:Name="Text_HinNM" Text="{Binding 商品名, Mode=OneTime, StringFormat=\{0:N0\}}" HorizontalAlignment="Left" Height="21" Margin="304,22,0,27" TextWrapping="Wrap" VerticalAlignment="Center" Width="330" RenderTransformOrigin="0.406,0.026" Background="{x:Null}" FontFamily="Arial" VerticalContentAlignment="Center" FontWeight="Bold" MaxWidth="350" MinHeight="16" IsHitTestVisible="True" FontSize="16"> <TextBox.Foreground> <SolidColorBrush Color="Black"/> </TextBox.Foreground> </TextBox> </Grid> </UserControl>

    2018/07/30 13:10
  • ZIPを操作したい(VB.NET、dll)

    現在VB6で、UNLHA32.dllを使用して ・LZHの圧縮 ・LZHの解凍 ・LZH内のテキストファイルの読み込み の操作をしています。 今回、VB6からVB.NETへ言語を変換することになりました。 そのタイミングで、LZHではなくZIPを使うことにもなりました。 (LZHはセキュリティ的に使うべきでないからという理由だと思います。) そこでLZHで行っていた操作を、ZIPに置き換えて実現するにはどうすればよいでしょうか? VB.NETの機能でZIP操作できるようなのですが、FrameWork4.5以上からのようなので、バージョンで操作できる・できないが出てしまうならdllを使うべきなのかなと思っています。 dllで調べていくと、UNZIP32.dllやzip32.dll、zip32j.dllなどがあることを知りました。 UNLHA32.dllではそれ1つで解凍や圧縮ができたのですが、 UNZIP32.dllでは解凍のみ、zip32.dllやzip32j.dllは圧縮のみのようです。 ただ、本文の最初に挙げていた、 圧縮状態のまま、その中にあるテキストファイルの読み込み がどうすれば実現できるのかが調べていても分かりませんでした。 また、先ほど挙げたZIP操作のdllをVB.NETで使用していくにあたっての コーディングなどについてもなかなか検索しても見つからず、 どうすればいいのか見えてこない状態です。 (私の検索方法が良くないのかもしれませんが・・・) それ以外にもzip32.dllとzip32j.dllの両方を組み合わせて使うようなのですが、 その理由も分からないです。 助言をいただけないでしょうか。 p.s. 入社したてのスキル不足なSEです。 初歩的な質問だったらすみません。

    2018/07/29 08:43
  • フォルダー名の複雑な変更 (2)

    以下で質問をしました。 https://okwave.jp/qa/q9521359.html watabe007さんから頂いたスクリプトを有効に利用させて頂いています。 色々試してみると処理できる場合もありますが、   フォルダー処理でエラーが出る場合があるのですが、コードを修正できますか? 以下のフォルダーでエラー表示(添付)がでます。 The Blues Band – The Rooster Crowed(2018) Sisare – Leaving The Land (2018) ------------------------------------------------- VBScript Option Explicit Dim objFSO Dim args Dim newName Dim f1, fol Set args = WScript.Arguments If args.Count < 1 Then WScript.Quit Set objFSO = CreateObject("Scripting.FileSystemObject") For Each f1 in args set fol = objFSO.GetFolder(f1) newName = GetnewFName(fol.Name) If newName <> "" Then fol.Name = newName End If Next Set objFSO = Nothing Function GetnewFName(strName) Dim objRE Dim myMatches Dim strYear Set objRE = CreateObject("VBScript.RegExp") objRE.Pattern = "\(\d{4}\)" Set myMatches = objRE.Execute(strName) If myMatches.Count > 0 Then strYear = Mid(myMatches(0).Value, 2, 4) GetnewFName = strYear & " " & strName End If Set objRE = Nothing End Function

    2018/07/29 06:09
  • フリーソフトのQRコードリーダー→EXCELセルへ

    QRコードリーダーの読み取り値をダイレクトにEXCELのセルへ転記したい。フリーソフトはQRコードリーダーProです。簡易的にEXCEL VBAのsendkeysによりQRコードリーダーのクリップボードデータをEXCELセルへ書き出すプログラムは成功しましたが、QRコードを読みだした後にEXCEL側のコマンドボタンによりデータを拾い出す形です。あくまで、QRコードリーダーが読みとった瞬間にEXCELのセルへデータ転記させたいのですが、何とかお考え戴けないでしょうか?

    2018/07/16 14:08
  • VisualBasic2010 関数の呼び出し

    VisualBasic2010を利用してシステム開発を行っているのですが、 特定の条件に従いFUNCTIONを呼び出したいと考えております。 呼び出すFUNCTIONが多数存在するため、FUNCTION名を変数で 保持しておき、呼出し時にその変数を利用して呼び出せないかと 思案しております。  ★呼出し側 Dim wk as integer   wk = TEST_A()   wk = TEST_B()  ※上記の「TEST_A()」「TEST_B()」を変数を利用して   wk = HENSU()のように呼び出せないかと考えております。 Private Function TEST_A() As Integer Return 0 End Function Private Function TEST_B() As Integer Return 1 End Function 分る方がいらっしゃいましたらご教授頂けますと幸いです。

    2018/07/07 11:42
  • VBAについての質問です。

    原本にて、 ○月  日( )    時に行きます。 という文字が、結合された一つのセルに入力されている状態で、 別シートに15分単位ぐらいでリストが作られています。 そのリストを上から順に空白のスペースにもともと入力されている物の中に組み込みたいのですが、そんなことは可能なのでしょうか? めんどくさい質問で大変恐縮ですが、よろしくお願いします。

    2018/07/03 09:36
  • いま、ひな形があって、そこにVBAにて、別シートの

    いま、ひな形があって、そこにVBAにて、別シートのリストを上から順にfor文で50行くらいのものを打ち込もうとしているのですか、その際にもともと文字が入っているセルに、その文字を消さずに出す。と言うやり方を調べていまして、画像のようなwstemplate.cellsというものが出てきました。 これについて調べたのですがわからずじまいで、わかる方いましたらお答えいただければ幸いです。

    2018/07/03 09:28
  • UserFormをサブルーチンに出来るか

    頓珍漢な質問かもしれませんが、何分ご了承下さい。 標準モジュールで記述時、UserFormをサブルーチンとして呼び出す事は出来ないですか。 プログラムの途中に、複数項目を入力させたいのです。 InputBoxは一つしか入力させられない様だから、UserFormならと、思ったのですが。 Private付プロシージャは、同じモジュールのプロシージャからしか呼び出せないのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • 暇なときにでも
    • noname#233045
    • Visual Basic
    • 回答2
    2018/06/29 15:42
  • WorkSheetのChangeイベントの引数

    WorkSheetオブジェクトのChangeイベント ある教材で、TargetがC3のケースを表現する際、 If Target .Row = 4 And .Column = 3 Then と有った。 回りくどい書き方に見えるのですが、他に表現方法は無いのでしょうか。 この書き方には、何か、理由が有るのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • 暇なときにでも
    • noname#233045
    • Visual Basic
    • 回答2
    2018/06/29 15:26
  • VBA マルチページにまたがるグループ化

    2ページ以上のマルチページに配置したオプションボタンをグループ化する方法を教えて下さい。

    2018/06/20 13:05

ピックアップ