月曜日, 8月 31, 2020

Visual Studio Basic_13 
複数判断材料による分岐処理と色替え

今回は入社試験の判定というちょっと洒落にならない?想定で、筆記試験と面接の点で合否を判断するプログラムです。

VS Basicを起動したら[新しいプロジェクトの作成]にて新規プログラム作成モードに入ります。最初にTextBox2つ、Button2つ、Label4つを配置します。配置が完了したらプロパティーにて文字やパーツのサイズを調整して上の様なレイアウトとしました。次にソースです。TextBox1と2、Label3の文字サイズは12ポイントとしています。

で、実際のソースは・・・

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

-----------------
Public Class Form1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' TestResultをInteger変数宣言
        Dim TestResult As Integer
        ' TestResultに数値変換したTextBox1の値を入れる
        TestResult = Val(TextBox1.Text)
        ' もしTestResultの値が80以上で、TextBox2がAであれば
        ' 「合格で」を表示
        If TestResult >= 80 And TextBox2.Text = "A" Then
            Label3.Text = "合格です"
        Else
        ' そうでなければ「不合格で」を表示
            Label3.Text = "不合格です"
        End If
    End Sub
-----------------
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' プログラム終了
        End
    End Sub
End Class
-----------------

ここで、折角なので合否により表示の色を変更してみました。色の変更は以下の様な設定で行います。

ラベル3の文字の色を黒に変更
Label3.ForeColor = Color.Black
または
Label3.ForeColor = Color.FromArgb(&H00,&H00,&H00)

ラベル3の背景色を黒に変更
Label3.BackColor = Color.White
または
Label3.BackColor = Color.FromArgb(&HFF,&HFF,&HFF)

カラー変更を設定した最終ソースは以下の通りです。
-----------------
Public Class Form1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' TestResultをInteger変数宣言
        Dim TestResult As Integer
        ' TestResultに数値変換したTextBox1の値を入れる
        TestResult = Val(TextBox1.Text)
        ' 背景色は白、文字色は黒にリセット
        Label3.ForeColor = Color.Black
        Label3.BackColor = Color.White
        ' もしTestResultの値が80以上で、TextBox2がAであれば
        ' 背景色を赤、文字を白に変更して「合格で」を表示
        If TestResult >= 80 And TextBox2.Text = "A" Then
            Label3.BackColor = Color.Red
            Label3.ForeColor = Color.White
            Label3.Text = "合格です"
        Else
        ' そうでなければ
        ' 背景色を青、文字を白に変更して「不合格で」を表示
            Label3.BackColor = Color.Blue
            Label3.ForeColor = Color.White
            Label3.Text = "不合格です"
        End If
    End Sub
-----------------
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' プログラム終了
        End
    End Sub
End Class
-----------------

ソース記述中にエラーがなければデバッグです。
プログラムは
私見が80点以上かつ面接がAの場合のみ合格となります。

筆記試験が100点でも面接がAでなければ不合格

筆記試験が80点でも面接がA出あれば合格

Visual Studio Basic 2019

TCDW6685 
流石に記録の更新はしたくないです

バッファローのダンボ・・・。苦しい展開(^o^)。しかし、気が付いたら引きこもり歴は半年過ぎました。流石に記録の更新はしたくないですね。
本日は、菜の日だそうです。

日曜日, 8月 30, 2020

Excel(Office)で任意の色を再設定する方法

Excel(Office)で任意の色に設定したセルの色を再現したい場合の手順を整理しました。

何色に設定したか解らないセルを取り敢えず選択して[塗りつぶし]ょクリックします。
※サンプルデータはダミーです。

塗りつぶしの設定パレットが表示されたらね一番下の[その他の色]をクリックします。

表示された派列との右下に表示されるカラーサンプル(選択した色)をクリックします。

これで、塗りつぶしの設定パレットに[最近使用した色]として表示されます。ここを選択する場同じ色を再現することが出来ます。他のOfficeツールでも手順は同様です。

Office365 2020

TCDW6684 
カエル系とトカゲ系のミックス

爬虫類系エイリアンですね。カエル系とトカゲ系のミックスかな? しかし・・・文書書いている時に急用勃発で、投稿を忘れてしまいました。
本日は、EPAの日だそうです。

土曜日, 8月 29, 2020

3Dでハートを作る_ZBrush(無印&Core)編

modoのポリゴン処理で作成した3DハートのZBrush(スカルプト処理)編です。一般的なスカルプト処理系で類似操作は可能だと思います。

まず、DynaMesh Sphere 128を設定します。

次にブラシのシンメトリー設定を[トランスフォーム]から植えように設定します。ブラシの反応は鈍くした方がいいでしょう。そうしないと極端な変形になってしまうので。

なんとなく逆滴のような形状に仕上げます。

形状が確定したら複製を作成し、それぞれを数値で指定で回転させます。ここでは35度としました。

複製側は-35度です。

あとは位置調整してハート(どう見ても桃・・・)に仕上げます。

位置が決まったらブーリアン処理で1つのオブジェクトに結合します。

これで一応完成ですが、桃みたいになってしまうのは宿題ですね。もう少し試行錯誤してみます。なお、無印だけでなくCoreでもこの処理は可能です。

ZBrush 2021

TCDW6683 
小型犬はやたらと吠える犬が多い

愛玩系に見えても凶暴なエイリアン。犬は大型犬はあまり吠えずにおとなしい犬が多いですが、小型犬はやたらと吠えてウルサイ犬が多いですからね〜。
本日は、クレープの日だそうです。

金曜日, 8月 28, 2020

Visual Studio Basic_12 
MessageBoxに表示してみる

今回は入力した「かな文字」をメッセージボックス(MessageBox)に「カナ文字」として表示させてみます。
VS Basicを起動したら[新しいプロジェクトの作成]にて新規プログラム作成モードに入ります。最初にTextBox1つ、Button3つ、Label1つを配置します。
プロパティーにて文字やパーツのサイズを調整して上の様なレイアウトとしました。次にソースです。TextBox1の文字サイズは12ポイントとしています。

列挙型メンバを利用します。指定した列挙体に含まれているメンバ(定数)の値と名前を列挙する方法・・・とワケワカメですが、取り敢えずお呪い程度に理解すればOKです。

ということで今回はカタカナ変換なので、

VbStrConv.Katakana

となります。もし半角カタカナに変換する場合はカタカナに変換してから半角変換なので[+]で繋げます。

VbStrConv.Katakana + VbStrConv.Narrow

で、実際のソースは・・・

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

-----------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' MessageBoxにTextBox1をカタカナ表記で表示
        MessageBox.Show(StrConv(TextBox1.Text, VbStrConv.Katakana))
    End Sub
-----------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' TextBox1をリセット
        TextBox1.ResetText()
    End Sub
-----------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        ' プログラムを終了
        End
    End Sub
End Class
-----------------
デバッグして問題が無ければ完成です。

TextBox1にかな文字を入力し[カタカナ変換]ボタンをクリック・・・

MessageBoxが出てカナ文字が表示されれば完成です。なお、MessageBoxの文字サイズ変更は難しい処理が必要なので省略します。また、プログラム途中でMessageBoxをクリアすることは出来ないので、クリアが必要であればMessageBoxの[OK]をクリックします。あるいは右上の[×]。

Visual Studio Basic 2019

TCDW6682 
妄想が膨らむ猛暑の今日この頃

お祭りに参加しても、ほとんど違和感のないエイリアン・・・。でもマスクを取ると・・・って、妄想が膨らむ猛暑の今日この頃。
本日は、テルミンの日だそうです。

木曜日, 8月 27, 2020

Visual Studio Basic_11 
大文字or小文字に書き出す

今回入力したテキストを大文字または小文字に変換して書き出すプログラムを作ります。


VS Basicを起動したら[新しいプロジェクトの作成]にて新規プログラム作成モードに入ります。最初にTextBox1つ、Button2つ、Label5つを配置します。
プロパティーにて文字やパーツのサイズを調整して上の様なレイアウトとしました。ただし、最終的にButtonを1つ増やしました。

左端から・・・
Button1 → [終了]
Button3 → [クリア]
Button2 → [変換]

大文字に変換して表示は ToUpperメソッド
小文字に変換して表示は ToLowerメソッド

※メソッドと関数の関係
関数とは、括弧の中に「何か入れる」と、それをもとに「何かを返す」働きをするメソッド(手続き)となります。どちらも広義では関数になります。ややこしいので、なんとなく、そんなモノ?でOKです。

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。
-----------------
Public Class Form1
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        ' Button2がクリックされたら
        ' Lanel3にTextBox1の値を大文字に変換して表示
        ' Lanel5にTextBox1の値を小文字に変換して表示
        Label3.Text = TextBox1.Text.ToUpper
        Label5.Text = TextBox1.Text.ToLower
    End Sub
-----------------
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       ' Button3がクリックされたらプログラムを終了
        End
    End Sub
-----------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' Button1がクリックされたら
        ' TextBox1、Label3、Label5の表示をクリア
        TextBox1.ResetText()
        Label3.ResetText()
        Label5.ResetText()
    End Sub
End Class
-----------------
エラー(赤の下線)が表示されなければデバッグを実行します。


任意のテキストをTextBox1に入力して[変換]ボタンをクリックします。


大文字、小文字に変換されたテキストが表示されれば完成です。[クリア]や[終了]も確認し、問題が無ければ完成です。

なお、Button2がクリックされて大文字と小文字を表示させる部分は以下の様に記述することも出来ます。
-----------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        ' Button2がクリックされたら
        ' String宣言したInputTextにTextBox1の文字を入れ
        ' Lanel3に大文字に変換して表示
        ' Lanel5に小文字に変換して表示
        Dim InputText As String
        InputText = TextBox1.Text
        Label3.Text = InputText.ToUpper()
        Label5.Text = InputText.ToLower()
    End Sub
-----------------

Visual Studio Basic 2019

TCDW6681 
朝起きたときにアイデアが浮かびます

性格が暗いエイリアンなので正面が苦手・・・とか馬鹿なことを考えながら仕事のアイデアを考えていると脳内がワケワカメに。まっ、だいたい朝起きたときにアイデアが一番ですね。夜は脳内が機能停止寸前でダメ。
本日は、ジェラードの日だそうです。

水曜日, 8月 26, 2020

Excelで色分けセルのカウント方法はユーザー関数で

非常に特殊なデータで、記号とは別に諸般の事情で色分けしているデータの色割れ部分をカウントしたかったのですが、関数が見当たりませんでした。そこでCountifのように色をカウントするユーザー関数を作成してみました。

実際のデータは上の様な状態です。もちろんこの説明用のデータはダミーなで氏名もデタラメです。処理的にはマクロ機能でユーザー関数を作成します。実はこのダミーデータ作るのが一番面倒臭かったのは内緒です。

実際のソースは以下の様にしました。

赤字はコメント文なので記述しなくてもOKです。
-----------------
Function CountColor(WideRenge As Range, ColorDat As Range)
       ' ユーザー定義関数名はCountColor(セルの範囲,指定のセル)
       ' 括弧内で、WideRengeとColorDatをRange宣言
  Dim rdata As Range
       ' rdataは、セル範囲(複数セル)を使うのでCellsではなくRange
  CountColor= 0
      ' CountColorはゼロからスタート
  For Each rdata In WideRenge
    If rdata.Interior.Color = ColorDat.Interior.Color Then
       ' Interior.Colorとはセルの塗りつぶしの色
      CountColor = CountColor + 1
       ' WideRengeの中のセル(rdata)にColorDataと同じ色があればColorDataに加算
            End If
  Next rdata
       ' マクロで編集したい場合は登録名(CountColor)をタイプして編集ボタンをクリック。
End Function
-----------------

作成後、数式バーで作成したユーザー関数をタイピングすると一覧に表示されます。通常の関数のようにダブルクリックして数式バーに固定し、必要なデータを入力して完了です。

=CountColor(B$2:K$20,E22)
(B$2:K$20の範囲からE20と同じ色のセルをカウントする。となります。
処理結果をフィルすれば残りの色についてもカウントです。

なお、作成したExcelデータf保存時にマクロ組み込み形式(xlsm)で保存する必要があります。また、ソースを修正したい場合は、登録名(CountColor)をタイプして編集ボタンをクリックします。

Office 365 2020

TCDW6680 
暑すぎて脳内が沸騰しそうです

なんとなくバランスを崩してみただけなのですが、意外とイイ感じ?と勝手に解釈。いや〜それにしても暑すぎて脳内が沸騰しそうです。
本日は、プルーンの日だそうです。

火曜日, 8月 25, 2020

Visual Studio Basic_10 
偶数奇数を条件式により判別

今回は条件によって処理を変更する条件式です。簡単な例として入力した数値が偶数なのか奇数なのかを判別するプログラムです。

VS Basicを起動したら[新しいプロジェクトの作成]にて新規プログラム作成モードに入ります。最初にTextBox1つ、Button3つ、Label4つを配置します。

プロパティーにて文字やパーツのサイズを調整して上の様なレイアウトとしました。次にソースです。その前に数式の確認です。2つの数値を除算し、剰余のみを返す[MOD]を使います。記述は[基準値 MOD 除数]となります。たとえば基準値が10で序数が3とすると[10 MOD 3](10÷3=3…1)で、余りの[1]が返ってきます。余りが返れば奇数で[0]が返ってくれば偶数となります。デザイン画面でButton1〜3を順番にダブルクリックして記述していきます。

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

-----------------
Public Class Form1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' aとremainderをInteger変数宣言
        Dim a, remainder As Integer
        ' TextBox1の値を数値変換してaに代入
        a = Val(TextBox1.Text)
        ' aを2で除算した値をremainderに代入
        remainder = a Mod 2
        ' If〜Then〜Else〜End If
        ' もしremainderの値が0であればLabel3に偶数を表示
        If remainder = 0 Then
            Label3.Text = "偶数"
        Else
        ' そうでなければLabel3に奇数を表示
            Label3.Text = "奇数"
        End If
    End Sub
-----------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        ' Button3がクリックされたらプログラムを終了
        End
    End Sub
-----------------
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' Button1がクリックされたらTextBox1とLabel3をクリア
        TextBox1.ResetText()
        Label3.ResetText()
    End Sub
End Class
-----------------

デバッグして問題が無ければ完成です。数値の表示位置は右揃えが自然ですね。

Visual Studio Basic 2019

TCDW6679 
目つきが悪くなってしまいました

フクロウを意識したのですが、目つきが悪くなってしまいました。まっ、もともとキモカワ系ですからいいのですが・・・。
本日は、チキンラーメン誕生の日だそうです。

月曜日, 8月 24, 2020

modoの基本24 
3Dでハートを作成してみる

modoでハートを作成してみました。今回はスカルプト処理は使わずにポリゴン処理のみで作成していますので、他のソフトにも適応できると思います。

まず図のような長方体を作成します。

あとはひたすら頂点、エッジを調整していきます。まず最初にエッジ選択で図のようにハートのくびれを作成します。

次に底面のエッジを削除します。

ポリゴンが欠如したように見えますが、これはプレビューの仕様?でデータ的には問題はありません。これはどの3Dソフトでもローポリゴンの場合は共通なのでバグではありません。続けて[Tab]キーにてサブディビジョンを変換して滑らか表示にします。

ここから少しずつエッジや調整を移動させながら形状を整えていきます。

対象モードをXYZで切り替えながら処理します。

ある程度調整できたら[Tab]キーにてサブディビジョンを変換してカクカク表示にします。

ここで[D]キーにてSDS再分割を実行してエッジをの密度を上げ、ハートのくびれ部分を微調整します。

細かい部分はこのカクカク状態で処理した方が分かりやすいでしょう。

最終的な完成状態です。

年のために正面、天面、右面を見てみました。もう少し調整した方が良いかもしれませんね・・・。

※以下も参考にしてください。

modo V14.0v1