Random Thoughts |
I have kleptomania, but when it gets bad, I take something for it.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 03:09:44 |
|
|
|
著者
|
トピック: エクセルの表計算のようなものをソリッドワークスのカスタムテーブルに表示したい (閲覧数 3841 回) |
|
bybalsendercase
Full メンバー
オフライン
投稿: 27
I'm a llama!
|
|
エクセルの表計算のようなものをソリッドワークスのカスタムテーブルに表示したい
« 投稿日: 2014/12/14 - 00:15:31 » |
|
こんばんは
いつもお世話になります。
bybalsendercaseと申します。
Public Class Form1 Dim ar As New List(Of TextBox) Private Sub f() Handles MyBase.Shown Me.Size = New Size(250, 200) For i As Integer = 0 To 2 Dim txtbx As New TextBox txtbx.Size = New Size(50, 20) txtbx.Location = New Point(10 + i * 75, 50) ar.Add(txtbx) AddHandler txtbx.TextChanged, AddressOf aoutsum Me.Controls.Add(txtbx) Next End Sub Private Sub aoutsum(sender As Object, e As EventArgs) Dim ans As Integer For Each ars As TextBox In ar If ars.Text = "" Then ars.Text = "0" End If Next ans = (CInt(ar(0).Text) - CInt(ar(1).Text)) ar(2).Text = ans.ToString() End Sub End Class
上記のコードの画像を添付致します。
このような表計算をソリッドワークスのカスタムテーブルにのせたいのですが、方法がわかりません。
画像が1枚しか掲載できませんでしたので、次のページでマクロの記録から生成したコードと画像を掲載致しますので、いつものようになにかヒントでも結構ですのでよろしくお願いします。
|
|
|
|
bybalsendercase
Full メンバー
オフライン
投稿: 27
I'm a llama!
|
|
Re:エクセルの表計算のようなものをソリッドワークスのカスタムテーブルに表示したい
« 返信 #1 投稿日: 2014/12/14 - 00:27:26 » |
|
すいません、続きです。
マクロの記録から作成したコードです。
Imports SolidWorks.Interop.sldworks Imports SolidWorks.Interop.swconst Imports System.Runtime.InteropServices Imports System Partial Class SolidWorksMacro Public swApp As SldWorks Public Sub main() Dim swDoc As ModelDoc2 = Nothing Dim boolstatus As Boolean = False Dim myt1 As Integer 'myTable.Text(1, 1)の値 Dim myt2 As Integer 'myTable.Text(1, 2)の値 Dim myt3 As Integer 'myt1-myt2の計算結果 swDoc = CType(swApp.ActiveDoc, ModelDoc2) 'ANNOTATIONTABLESの位置が0,0にあること boolstatus = swDoc.Extension.SelectByID2("", "ANNOTATIONTABLES", 0, 0, 1, False, 0, Nothing, 0) 'TableAnnotationの入れ物の作成 Dim myTable As TableAnnotation = Nothing myTable = CType(swDoc.ISelectionManager.GetSelectedObject5(1), TableAnnotation) myt1 = CInt(myTable.Text(1, 1)) '文字列をIntegerに変更 myTable = CType(swDoc.ISelectionManager.GetSelectedObject5(1), TableAnnotation) myt2 = CInt(myTable.Text(1, 2)) '文字列をIntegerに変更 myt3 = myt1 - myt2 myTable.Text(1, 3) = myt3.ToString() 'Integerを文字列に変更してmyTable.Text(1, 3)に表示 End Sub End Class
このままですと、入力したらボタンクリックなどのイベントを使わなければなりません、エクセルのように数字を入力したらすぐに計算結果を表示したいです。 ここにテキストチェインジみたいなイベントを追加してカスタムテーブルに数字を入力したら計算結果が瞬時に表示されるようにしたいと考えております。
なにかヒントで結構ですので何卒ご助力をお願いします。
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:エクセルの表計算のようなものをソリッドワークスのカ
« 返信 #2 投稿日: 2015/02/10 - 16:27:27 » |
|
bybalsendercaseさん、こんにちは
2か月近く前のトピックなので既に解決済みかも知れませんが、一応回答してみます
カスタムテーブルは、四則演算とSUM関数は機能として備えていますので、あらかじめ式を設定したカスタムテーブルをテンプレートとして保存すれば実現可能かと思います。
試しに作成してみたカスタムテーブルテンプレートを添付しましたので、挿入してみて下さい
|
|
|
|
bybalsendercase
Full メンバー
オフライン
投稿: 27
I'm a llama!
|
|
Re:エクセルの表計算のようなものをソリッドワークスのカ
« 返信 #3 投稿日: 2015/08/09 - 21:16:51 » |
|
hisaさんへ
お返事が遅れてしまい申し訳ありませんでした。
だいぶ日にちが過ぎてしまいましたので、自分でも何を質問したのかを思い出すのに時間がかかりました。
こちらもけっきょk
|
|
|
|
bybalsendercase
Full メンバー
オフライン
投稿: 27
I'm a llama!
|
|
Re:エクセルの表計算のようなも現在のをソリッドワークス
« 返信 #4 投稿日: 2015/08/09 - 21:21:44 » |
|
すいません、途中で返信してしまいました。
貴重なご意見ありがとうございます。
現在はシートワークスの機能を利用していますが、ソリッドワークスのみでもいけそうな感じです。
またよろしくお願いします。
|
|
|
|
|
|
|
|