<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss"  xmlns:media="http://search.yahoo.com/mrss/">
<channel>
	<title><![CDATA[SWJUG-RING: APIに詳しい方、ご協力お願いします。]]></title>
	<link>http://swjug.org/blog/view/297245/api%25E3%2581%25AB%25E8%25A9%25B3%25E3%2581%2597%25E3%2581%2584%25E6%2596%25B9%25E3%2580%2581%25E3%2581%2594%25E5%258D%2594%25E5%258A%259B%25E3%2581%258A%25E9%25A1%2598%25E3%2581%2584%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2580%2582</link>
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82</guid>
	<pubDate>Tue, 21 Jul 2020 14:02:19 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82</link>
	<title><![CDATA[APIに詳しい方、ご協力お願いします。]]></title>
	<description><![CDATA[<p>API素人です。<br />Web検索や会員の方のブログなど参考にAPI作成し完成まであと一歩のところで、<br />壁にぶつかり悩んでます。APIにお詳しい方のお力添え頂きたく。解答よろしくお願いします。</p><p>アクティブモデル（Partsファイル、Assemblyファイル）のファイル名を<br />プロパティユーザー定義情報の組合せにより自動生成し指定保存するマクロになります。</p><p>「Parts保存」、「AssemblyをPartsとして保存」、「Assemblyのみ保存」は、問題なく出来ますが、<br />「Assembly保存+参照Partsを保存」が外部参照がはずれる関係で求めていることが出来ません。</p><p>外部参照が外れる原因は、参照部品の名前をコードで操作変更したときに外れるようで、<br />リネームなども試しましたが、AssemblyのFutureManager上では、名前リネームされますが、<br />外部参照が外れる関係で部品を開くとリネーム前の名前で部品が開きます。（外部参照設定もコードで有効にしてますが駄目です）</p><p>当方が求めている内容としては、下記になります。<br /><br />①「Assembly保存+参照Partsを保存」を選択<br />②参照Partsは、自動生成したフォルダにプレフィックス追加し保存<br />※数個ある部品が正常に保存される時と1個しか保存されない時がある（不安定）<br />③Assemblyファイルは選択したフォルダに保存（参照は外さない）<br />※まともに②部品が保存できても参照が外れAssembly選択フォルダに名前変更前の部品ファイルが保存される。</p><p>すでに数日悩んでますが、どうしたら正常実行可能か分かりません。。<br />どなたか解決頂けると非常に助かります。</p><p>悩んでいるコード抜粋します。</p><p>'Assemblyの構成部品を指定フォルダに保存<br />Dim swAssy As SldWorks.AssemblyDoc<br />Dim swConfig As SldWorks.Configuration<br />Dim swRootComp As SldWorks.Component<br />Dim Children As Variant<br />Dim swChild As SldWorks.Component<br />Dim ChildCount As Integer<br />Dim OldName As String<br />Dim NewName As String<br />Dim bOldSetting As Boolean<br />Dim bRet As Boolean<br />Dim i As Long<br />Dim i1 As Long<br /><br />Set swApp = CreateObject("SldWorks.Application")<br />Set swAssy = swApp.ActiveDoc<br />Set swConfig = swAssy.GetActiveConfiguration<br />Set swRootComp = swConfig.GetRootComponent<br /><br />bOldSetting = swApp.GetUserPreferenceToggle(swExtRefUpdateCompNames)<br />swApp.SetUserPreferenceToggle swExtRefUpdateCompNames, False<br /><br />Children = swRootComp.GetChildren<br />ChildCount = UBound(Children)<br /><br />i = 0<br />i1 = 1<br /><br />For i = 0 To ChildCount<br /><br />Set swChild = Children(i)<br /><br />bRet = swChild.Select(False)<br /><br />'現在の構成部品名を読み込み<br />OldName = swChild.Name2<br /><br />'外部参照有効化<br />swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swExtRefUpdateCompNames, True<br />swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swReferenceOnlyEnvelopeComponentType, False<br />swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swReferenceInContextOfTopLevelAssembly, False<br /><br />'現在の構成部品名に設備NOを追加<br />NewName = rValOut1 &amp; "_" &amp; OldName<br /><br />'構成部品名書込<br />swChild.Name2 = NewName<br /><br />'Set Part = swApp.ActiveDoc<br />'boolstatus = Part.Extension.SelectByID2(rValOut, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)<br /><br />'Rename<br />'longstatus = Part.Extension.RenameDocument(NewName)<br />'boolstatus = Part.ForceRebuild3(True)<br /><br />'構成部品保存<br />NewName = fPath1 &amp; "\" &amp; NewName &amp; ".SLDPRT"<br />fPath1 = NewName<br />boolstatus = swExt.SaveAs(fPath1, 0, Options, Nothing, errors, warnings)<br /><br />i1 = i1 + 1<br /><br />Next i<br /><br />boolstatus = swAssy.ForceRebuild3(False)<br /><br />'Assemblyを保存<br />fPath = BrowseFolder &amp; "\" &amp; rValOut &amp; ".SLDASM"<br />boolstatus = swExt.SaveAs(fPath, 0, Options, Nothing, errors, warnings)<br /><br />よろしくお願いします。</p><p>&nbsp;</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116330</guid>
	<pubDate>Sat, 01 Aug 2020 20:56:07 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116330</link>
	<title><![CDATA[西田将也 さんが付けたコメント]]></title>
	<description><![CDATA[<p>&gt;&nbsp;<span>解決しました。</span></p>
<p>勉強になりました。情報提供ありがとうございます！</p>]]></description>
	<dc:creator>西田将也</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116261</guid>
	<pubDate>Fri, 31 Jul 2020 10:31:33 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116261</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>解決しました。</p>
<p>アセンブリパーツをパーツとして保存する場合は、部品種類ごとに作成してあるテンプレートを選択できるように<br>SW標準のテンプレート選択ウィンドウ表示し選択適用できるようにしました。</p>
<p>参考コード抜粋：<br>Dim Ptemp As String<br><br>'SW標準のテンプレート選択ウィンドウ表示<br>Ptemp = swApp.GetDocumentTemplate(swDocPART, "", 0, 0#, 0#)<br><br>'部品デフォルトテンプレートを選択テンプレートに設定<br>boolstatus = swApp.SetUserPreferenceStringValue(swUserPreferenceStringValue_e.swDefaultTemplatePart, Ptemp)<br><br>【システムオプション】&rarr;【デフォルトテンプレート】の設定は、<br>「ドキュメントのテンプレートを選択するようプロンプト表示」を選択にして下さい。<br><img src="http://swjug.org/mod/tinymce_pro/assemblypart.PNG" width="500" alt="image" style="border: 0px;"></p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116157</guid>
	<pubDate>Thu, 30 Jul 2020 16:13:33 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116157</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>先日の投稿ですが、困っている内容が少し違ったので、再度投稿します。</p>
<p>AssemblyファイルをPartsとして保存するときに「オプション」設定のデフォルトテンプレート（部品）が<br>適用されますが、これを指定して適用したい方法が不明です。</p>
<p>SW標準保存であれば、テンプレート選択ウィンドウが表示され選択可能なので、マクロ記録し試しましたが、<br>NewDocumentで指定した部品ファイルは開くが、モデルが保存されないです。</p>
<p>【SW標準保存記録コードAssemblyファイルをPartsとして保存】</p>
<p>Dim swApp As Object<br><br>Dim Part As Object<br>Dim boolstatus As Boolean<br>Dim longstatus As Long, longwarnings As Long<br><br>Sub main()<br><br>Set swApp = Application.SldWorks<br><br>Set Part = swApp.ActiveDoc<br>boolstatus = swApp.SetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swSaveAssemblyAsPartOptions, swSaveAsmAsPartOptions_e.swSaveAsmAsPart_AllComponents)<br><br>' New Document<br>Dim swSheetWidth As Double<br>swSheetWidth = 0<br>Dim swSheetHeight As Double<br>swSheetHeight = 0<br>Set Part = swApp.NewDocument("指定テンプレート.prtdot", 0, swSheetWidth, swSheetHeight)<br>Dim swPart As PartDoc<br>Set swPart = Part<br>swApp.ActivateDoc2 "Part1", False, longstatus</p>
<p><span style="text-decoration: underline;">"Part1"は、NewDocument実行した時点で、自動で割付され部品用指定テンプレートが開くが、</span><br><span style="text-decoration: underline;">SW終了するまで、NewDocument実行するたび番号積算されるので、何番になるか毎回番号が</span><br><span style="text-decoration: underline;">変わるので、実際は指定ができない。次番号が何番になるか確認し数字入れてはみましたが、</span><br><span style="text-decoration: underline;">NewDocumentで開いた部品ファイルに保存されません。</span><br><br>Set Part = swApp.ActiveDoc<br>Set Part = swApp.ActiveDoc<br>Dim myModelView As Object<br>Set myModelView = Part.ActiveView<br>myModelView.FrameLeft = 0<br>myModelView.FrameTop = 0<br>Set myModelView = Part.ActiveView<br>myModelView.FrameState = swWindowState_e.swWindowMaximized<br>swApp.ActivateDoc2 "テスト用Assemblyモデル.SLDASM", False, longstatus<br>Set Part = swApp.ActiveDoc<br><br>' Save As<br>longstatus = Part.SaveAs3("ファイルパス.SLDPRT", 0, 2)<br>End Sub<br><br>何か方法あれば、教えて下さい。<br>よろしくお願いします。</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116018</guid>
	<pubDate>Tue, 28 Jul 2020 08:57:01 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-116018</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>また困りました。</p>
<p>AssemblyファイルをPartsとして保存するときに作成済みの部品用プロパティテンプレートを<br>適用したいのですが、方法がわかりません。今は勝手に違う部品用テンプレートが適用されてしまいます。</p>
<p>保存時に指定プロパティテンプレートを適用する方法を教えて下さい。<br>よろしくお願いします。</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115924</guid>
	<pubDate>Mon, 27 Jul 2020 17:11:17 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115924</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>追記します。<br><br>swComp.Name2で取得した構成部品名には、必ず末尾に子NO,がついてしまいますが、<br>不要につきInStrRevで末尾から&rdquo;ー&rdquo;位置取得しMidにて取得した文字位置から文字列取得、<br>Replaceで末尾&rdquo;ー&rdquo;以降を置換え（削除）するようにしました。<br><br>&nbsp; '現在の構成部品名を読み込み<br>&nbsp; Dim OldName As String<br>&nbsp; OldName = swComp.Name2<br>&nbsp; <br>&nbsp; 'ファイル名の子NO確認<br>&nbsp; Dim j As Long<br>&nbsp; j = InStrRev(OldName, "-")<br>&nbsp; Dim txt As String<br>&nbsp; txt = Mid(OldName, j)<br>&nbsp; <br>&nbsp; '子番号置換（削除）<br>&nbsp; OldName = Replace(OldName, txt, "")</p>
<p>連休前に追加しておいた「一度保存したデータを違う設備で使い回す」は、多々あるので残しました。<br>&nbsp; '取得した構成部品名の左(先頭)から4文字取得<br>&nbsp; Dim ChangeName As String<br>&nbsp; ChangeName = OldName<br>&nbsp; ChangeName = Left(ChangeName, 4)<br>&nbsp;<br>&nbsp; '取得した構成部品の左4文字が数字だった場合実行<br>&nbsp; If IsNumeric(ChangeName) = True Then<br>&nbsp; OldName = Replace(OldName, ChangeName &amp; "_", "")<br>&nbsp; End If<br><br>あとは、サブアセンブリがあった場合の処理を頑張ります！</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115907</guid>
	<pubDate>Mon, 27 Jul 2020 12:14:17 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115907</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>重箱の隅つつかれるとダダ漏れしますよ（笑）連休明けフル回転で煙もでてますが。。</p>
<p>Instrやっと理解できました。今回のように詳しく教えて頂かないと、<br>すぐパンクするので手取り足取りで説明お願いします（笑）<br><br>たしかにこの方法であれば、Nextで回してるので、つけたいプレフィックス名で判断がつくことになります。</p>
<p>If InStr(取得名, プレフィックス名) = 0 Then<br>SaveAs実行</p>
<p>実行結果はすばらしい完璧です！これなら子番号に左右されず判定できますね。<br><br>AAAA&lt;1&gt;<br>AAAA&lt;2&gt;<br>※取得順は選べない<br>&darr;<br>OldName：AAAA-1　or　AAAA-2<br>Prefix：0000_<br>InStr (OldName, Prefix) = 0なので、SaveAs実行<br>&darr;<br>0000_AAAA-1&lt;1&gt;<br>0000_AAAA-1&lt;2&gt;<br>※SaveAsで同名部品書換られる<br>※取得順は選べない<br>&darr;<br>OldName：0000_AAAA-1-1　or　0000_AAAA-1-2<br>Prefix：0000_<br>InStr (OldName, Prefix) = 1なので、SaveAs未実行<br><br>すごくスッキリしました！<br>あとは、アセンブリにサブアセンブリがあった場合どうするか・・・う～ん。。。Zzzzzz</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115537</guid>
	<pubDate>Thu, 23 Jul 2020 17:27:11 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115537</link>
	<title><![CDATA[辻　直樹 さんが付けたコメント]]></title>
	<description><![CDATA[<p>InStrでの判定、これもうまく伝わっていないようですね。というかマクロを実行したときの挙動を把握出来ていないのかも知れません。（.AddPrefix専用コード？＜－その話ではないです、これは私も初耳（目？））</p>
<p>STEP BY STEPで１行ずつ見ていくと解りますが、SaveAsの行を実行すると、保存と同時に複数ある同じ構成部品の名前は一斉に変更されます。</p>
<p>なので&rdquo;For　Next&rdquo;なり&rdquo;Do　While&rdquo;なりの内側で次の名前を取得すると、同じ部品なら既に追加したい文字が付いていることになります。（だからここで再度同じ処理をすると文字の追加を繰り返してしまうのですね。）</p>
<p>ここで、InStr(取得した名前，追加したい文字）で判定すると戻り値は、既に追加したい文字が含まれていれば何番目かの数字になるので１以上、含まれていなければ０となって区別できることになります。（０の時だけ保存処理を実行）</p>
<p>&nbsp;</p>
<p>保存の繰り返し処理の前に、現状の名前を取得して配列に入れておき、それに対して文字追加するという方法も可能ですが、この場合インスタンス数回、同名で上書き保存することなってわずらわしいですよね。</p>]]></description>
	<dc:creator>辻　直樹</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115534</guid>
	<pubDate>Thu, 23 Jul 2020 16:21:48 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115534</link>
	<title><![CDATA[西田将也 さんが付けたコメント]]></title>
	<description><![CDATA[<p>ぼくも重箱の隅を・・</p>
<p>&gt;&nbsp;<span>PathName = Right(PathName, 1)</span></p>
<p>11個以上同じファイルがあるとだぶりそうです。<br>ちなみにぼくはファイル名を配列に入れて逐一チェックしようかとイメージしてたので<br>それよりはマシですね（笑）</p>
<p>&gt;&nbsp;<span>【設備ハンディボックス用カールコード】設計に必要アルかナシかで言えば、ナシ</span></p>
<p>見てわかりやすいのはいろいろ気づくきっかけになるので大事だと思いますよ！<br>色もつけましょう！笑</p>]]></description>
	<dc:creator>西田将也</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115533</guid>
	<pubDate>Thu, 23 Jul 2020 16:19:50 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115533</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>理解しましたよ。</p>
<p>&lt;&gt;番号1のインスタンスを削除・・確かにレアケースではありますが、無くはないですね。<br>さて、どうしましょう？少し考えます。明日からの3連休で記憶から消す可能性もありますが・・（笑）<br>アップサンプル画像の【元データ構成】から、同名参照部品が何個あるか見分ける<br>何かいい方法あれば、教えて頂けると助かります。</p>
<p>プレフィックスに関しては、表現が悪かったですね。.AddPrefix専用コード？で接頭につけていないです。<br>単純に取得した名前の先頭に4桁の設備NO,＆"_"をつけただけで、同じ部品であっても<br>設備ごとに名前を変えて保存してます。<br><br>理由としては、社内で部品ファイル共有できてなく基本個人プレーで、ファイルは設備ごとのフォルダ作り<br>共有ネットワークに保存してます。仮にAさんとBさんで同じアセンブリを使用しAさんが参照部品を変更した場合、<br>Bさんの部品も変更されてしまうので、設備ごとに違う設備番号をファイル名や参照部品名の先頭につけることで、<br>同じ部品であってもリンクしないようにしてます。なので、InStrでの判定はできないかと。。<br><br>ただ、一度保存したデータを違う設備で使用する場合、既に先頭に違う設備NO,がついているので<br>違う名前にしたいときに追加で違う設備NO,をつけることになり、0000_1111_・・・マクロ使うたび増えるので、<br>取得部品名の左4文字取得し数字だった場合は、一度消して新たな設備NO,をつけるようにしておきました。<br>ChangeName = swComp.Name2<br>ChangeName = Left(ChangeName, 4)<br>If IsNumeric(ChangeName) = True Then<br>OldName = Replace(OldName, ChangeName &amp; "_", "")<br>End If<br><br>今回作ったマクロは毎回このマクロで保存する訳ではなく、プロパティ組合せた決まった形式で<br>ファイル名を自動でつけたい場合に使用することを大前提としているので、マクロで保存した後の<br>変更や追加後の保存は基本的にSW標準の保存を使用します。じゃないと複雑になりすぎるので・・・<br><br>なので、万人向けではありません。</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115521</guid>
	<pubDate>Thu, 23 Jul 2020 11:48:51 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115521</link>
	<title><![CDATA[辻　直樹 さんが付けたコメント]]></title>
	<description><![CDATA[<p>うまく伝えられなかったですかね。</p>
<p>一度構成部品を複数挿入・配置したけど、「やっぱりこれ要らんわ。」となって&rdquo;－１&rdquo;番目を削除していたら？という場合です。まあ、レアケースかもしれませんが無くはないということで。</p>
<p>InStrでの判定も、マクロ中のプレフィックス文字を付けるタイミングでの、「既に付いているか？」を見るので、その後の改定とはあまり関係ないかと思うのですが・・・。</p>
<p>また元々の名前に含まれている可能性についても、更に手間をかけると、プレフィックスなら文字の位置を特定することで識別は可能ですね。</p>
<p>&nbsp;</p>
<p><span>＞業務の傍ら挑戦したところ業務以上にどっぷりハマってます。。。</span></p>
<p><span>わかります！私もうまくいかないと気になってしょうがないので、マクロは暇な時しか手を出さないようにしています。</span></p>]]></description>
	<dc:creator>辻　直樹</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115513</guid>
	<pubDate>Thu, 23 Jul 2020 10:22:42 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115513</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>&gt;可能性の話となりますが、複数ある構成部品の&rdquo;－１&rdquo;付きのインスタンスを削除したASSYの場合、<br>&nbsp;追番が繰り上がっては振られないようのでその構成部品は保存されなくなりますね。<br><br>&rarr;ご指摘の答えになっているか？？ですが、アップサンプル画像の【元データ構成】FutureManagerにあるように<br>&nbsp; &lt;&gt;内の追番が、swRootComp.GetChildrenで取得した構成部品名には-1,-2‥と付きます。<br>&nbsp; なので、同名でも追番数付加して保存してしまい参照されない余計なファイルが保存されてました。<br>&nbsp; アップサンプル画像【マクロ実行構成】のように参照部品5のところ&lt;&gt;追番分7ファイル保存してしまいます。<br>&nbsp; 通常、保存ファイル名には&lt;&gt;追番はつかないことから、インスタンスは削除しないで追番のみ削除することにし<br>&nbsp; 追番"1"以外の同名部品は参照ファイルが同じにつき保存しないようにしました。<br>&nbsp; この内容にて、アップサンプル画像【マクロ実行希望構成】にすることが出来ました。<br>&nbsp; 保存されたアセンブリの&lt;&gt;には、新たに追番がつくので問題ないかな？と思います。<br>&nbsp; 本番マクロでも試しましたが、今のところ不具合はありません。<br><br>&gt;別の識別方法として、名前に追加するプレフィックス（サフィックス）が既に含まれているかを&rdquo;InStr&rdquo;の戻り値が<br>&nbsp;０かどうかで判定する方法もアリかと思います。（元々の名前にもう含まれているとダメですが・・・）<br><br>&rarr;なるほど！このような判定もあるんですね。。ですが、プレフィックス追加したファイルを<br>&nbsp; 改定したりする場合もあるので、今回は使用できませんが参考にさせて頂きます。<br><br>&gt;更に言うと、構成部品にサブアセンブリが含まれている場合など、<br>&nbsp;あらゆるパターンをカバーしようとすると悩みは尽きず、どんどん肥大化していくんですよね。<br><br>&rarr;そうですね。サブアセンブリが含まれた場合は想定してませんでした。。。<br>&nbsp; う～ん・・・また悩みますね。すでに頭から煙が・・（笑）<br><br>今回、このマクロ作ろうと思ったキッカケは、弊社ＦＡ設備を内製してまして、<br>構想・設計・部品調達・組立・立上げ・生産デバックまで、一貫してやってます。<br>リピート機もありますが、新規開発が多々あり部品点数が多くなる程、<br>プロパティやファイル名の手入力が面倒なので、少しでも設計業務効率化できたら<br>いいな～くらいの思いから、業務の傍ら挑戦したところ業務以上にどっぷりハマってます。。。<br><br>プロパティ入力内容やファイル名のつけ方など、ある程度ルールが確立されていることもあり<br>コマンドタブビルダ使用したプルダウン、ラジオボタンなど手入力無しでプロパティ入力<br>できるように作りましたが、ファイル名が手入力って・・・・<br>元々、産業用ロボットソフトなど組んでいたこともありＢＡＳＩＣやＣ言語など、<br>多少なりにも理解してましたが、sw専用コードは？？？が多く調べようにも英語ですし<br>今でこそ簡単に翻訳できますが理解に苦しむことも。。皆さんがＷｅｂ公開しているマクロ参考に<br>できたり質問もできるので、まだなんとかなってます。（あじろさんにも、ブログでお世話になりました）<br><br>SolidWorksでの設計もいかに本物チックにするか、こだわり過ぎて半分趣味の世界になってますが、<br>【設備ハンディボックス用カールコード】設計に必要アルかナシかで言えば、ナシですね（笑）<br><img src="http://swjug.org/mod/tinymce_pro/chord.PNG" width="300" alt="image" style="border: 0px;"><br>おっしゃるとおりマクロの世界は奥が深くギブアップ寸前です！<br><br>困ったことがあれば、また投稿するので助けて下さいね。</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115474</guid>
	<pubDate>Wed, 22 Jul 2020 18:07:46 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115474</link>
	<title><![CDATA[辻　直樹 さんが付けたコメント]]></title>
	<description><![CDATA[<p>一段落でホッとしているところ、気を挫くつもりはないのですが、、、</p>
<p>可能性の話となりますが、複数ある構成部品の&rdquo;－１&rdquo;付きのインスタンスを削除したASSYの場合、追番が繰り上がっては振られないようのでその構成部品は保存されなくなりますね。</p>
<p>別の識別方法として、名前に追加するプレフィックス（サフィックス）が既に含まれているかを&rdquo;InStr&rdquo;の戻り値が０かどうかで判定する方法もアリかと思います。（元々の名前にもう含まれているとダメですが・・・）</p>
<p>&nbsp;</p>
<p>更に言うと、構成部品にサブアセンブリが含まれている場合など、あらゆるパターンをカバーしようとすると悩みは尽きず、どんどん肥大化していくんですよね。</p>
<p>マクロの世界は奥が深いです。</p>]]></description>
	<dc:creator>辻　直樹</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115471</guid>
	<pubDate>Wed, 22 Jul 2020 16:37:26 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115471</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>こんな感じですかね？とりあえず問題なさそうです。</p>
<p>&nbsp; '現在の取得構成部品より追番取得<br>&nbsp; Dim PathName As String<br>&nbsp; PathName = swComp.Name2<br>&nbsp; PathName = Right(PathName, 1)</p>
<p>&nbsp; '追番が1の参照部品のみ保存対象<br>&nbsp; If PathName = 1 Then<br><br>&nbsp; '現在の構成部品名を読み込み<br>&nbsp; Dim OldName As String<br>&nbsp; OldName = swComp.Name2<br>&nbsp;&nbsp; &nbsp;<br>&nbsp; '追番置換（削除）<br>&nbsp; OldName = Replace(OldName, -1, "")<br>&nbsp; Debug.Print OldName<br>&nbsp; <br>&nbsp; '現在の構成部品名に設備NOを追加<br>&nbsp; Dim NewName As String<br>&nbsp; NewName = prefix &amp; "_" &amp; OldName<br>&nbsp; <br>&nbsp; '構成部品名書込<br>&nbsp; swComp.Name2 = NewName<br>&nbsp; <br>&nbsp; NewName = saveFolderPath &amp; "\" &amp; NewName &amp; ".SLDPRT"<br>&nbsp; fPath = NewName<br>&nbsp; Set swModel = swComp.GetModelDoc2<br>&nbsp; Set swExt = swModel.Extension<br>&nbsp; boolstatus = swExt.SaveAs(fPath, 0, 1, Nothing, errors, warnings)<br>&nbsp; <br>&nbsp; End If</p>
<p>これで、やっと完成できそうです！！<br><br>また、困った時は投稿させて頂きますので、よろしくお願いします。<br>ご協力頂き本当に有難う御座いました。</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115468</guid>
	<pubDate>Wed, 22 Jul 2020 15:30:20 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115468</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>すいません。画像やっと投稿できました。。。</p>
<p>やはり、ファイル名からなんとかスキップさせる方法しかないですよね？<br>イミディエイト確認したところ参照部品取得した時点で、必ず部品名末尾にー追番がつくので、<br>追番取得しー１以外は保存しないようにする方向で考えてみます。</p>
<p>なにか方法あれば、教えて下さい。</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115466</guid>
	<pubDate>Wed, 22 Jul 2020 15:16:56 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115466</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>【マクロ実行構成】構成部品7（同名2）、保存ファイル7（参照ファイル5）<br><img src="http://swjug.org/mod/tinymce_pro/macro.PNG" width="300" alt="image" style="border: 0px;"></p>
<p><img src="http://swjug.org/mod/tinymce_pro/macro2.PNG" width="300" alt="image" style="border: 0px;"><br>【マクロ実行希望構成】構成部品7（同名2）、保存ファイル5（参照ファイル5）<br><img src="http://swjug.org/mod/tinymce_pro/macro3.PNG" width="300" alt="image" style="border: 0px;"></p>
<p><img src="http://swjug.org/mod/tinymce_pro/macro4.PNG" width="300" alt="image" style="border: 0px;"></p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115462</guid>
	<pubDate>Wed, 22 Jul 2020 14:42:14 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115462</link>
	<title><![CDATA[西田将也 さんが付けたコメント]]></title>
	<description><![CDATA[<p>&gt;&nbsp;<span>同名の保存部品が１ファイルでいいところ</span><span>子ナンバー分、保存されてしまいます。</span></p>
<p><span>そうなんですよね。<br>ファイル名チェックして，同名のファイルはスキップするとかでうまくいかないですかね。</span></p>]]></description>
	<dc:creator>西田将也</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115461</guid>
	<pubDate>Wed, 22 Jul 2020 14:32:36 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115461</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>【元データ構成】構成部品7（同名2）、保存ファイル5（参照ファイル5）<br><img src="http://swjug.org/mod/tinymce_pro/元データ4.PNG" width="400" alt="image" style="border: 0px;"><br><img src="http://swjug.org/mod/tinymce_pro/元データ23.PNG" width="300" alt="image" style="border: 0px;"></p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115459</guid>
	<pubDate>Wed, 22 Jul 2020 14:18:40 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115459</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>投稿遅くなりました。。</p>
<p>提供頂いたサンプルマクロ「SaveViaVBA31」ですが、新規、既存ともに<br>問題なく名前変更し保存が出来ることを確認しました。私が求めていたことが出来てます。<br><br>ただ、初投稿前にも確認済みではありましたが、swRootComp.GetChildrenで<br>参照部品を取得すると同じ名前の参照部品がある場合、子ナンバー別に<br>全て取り込んでしまう為、同名の保存部品が１ファイルでいいところ<br>子ナンバー分、保存されてしまいます。</p>
<p>【元データ構成】構成部品7（同名2）、保存ファイル5（参照ファイル5）<br><img src="denied:data:image/png;base64,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" alt="" style="border: 0px;"><br><br>【マクロ実行構成】構成部品7（同名2）、保存ファイル7（参照ファイル5）<br><img src="denied:data:image/png;base64,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" alt="" style="border: 0px;"><br>【マクロ実行希望構成】構成部品7（同名2）、保存ファイル5（参照ファイル5）<br><img src="denied:data:image/png;base64,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" alt="" style="border: 0px;"></p>
<p>また、サンプルマクロ「CopyViaVBA」ですが、保存済みアセンブリの参照ファイルリスト取得後に<br>名前を変更している関係で、子ナンバー別にファイル取得しません。ただし、参照ファイルリストは、<br>保存済みデータが無いと取得できないので、④が正常実行できなかったのは、フォルダの場所は関係なく<br>未保存データを新規保存（中間ファイル新規保存など）する関係で参照ファイルリスト取得しても<br>dependFilesListがTrueにならないことが、原因です。なので、④を「CopyViaVBA」で正常実行させるには、<br>名前変更前に一度保存する必要があります。（不要データが増えますが・・・）</p>
<p>新規、既存どちらでも使える「SaveViaVBA3」で、子ナンバー別保存さえなんとかなれば、<br>希望していたマクロになるのですが、難しいですかね？</p>
<p>ご面倒掛けますが、よろしくお願いします。</p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115411</guid>
	<pubDate>Tue, 21 Jul 2020 17:50:50 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115411</link>
	<title><![CDATA[西田将也 さんが付けたコメント]]></title>
	<description><![CDATA[<p>あれ？ぼくがおいたサンプルマクロで，④もできるはずだけどなー<br>と思ったら，「もとのアセンブリファイルの場所に新規フォルダ作る」手順になってたのでだめだったんですね。</p>
<p>フォルダ決め打ちだとできました。</p>
<p>内容的に外部参照は関係なさそうなので(中間ファイルには外部参照ないので)<br>辻さん助言によりつくりなおしたSaveAsメソッド版をおいてます&rarr;<a href="http://swjug.org/file/view/297377/">サンプル<br></a></p>
<p>複数含まれてる部品のファイル名の変更がまだバグってますがサンプルにはなるかなと思います</p>
<p>&nbsp;</p>
<p>ほんとは　保存ダイアログボックスを表示して選択するようなのを試してみたんですけど<br>それだとうまくいきませんでした。</p>]]></description>
	<dc:creator>西田将也</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115409</guid>
	<pubDate>Tue, 21 Jul 2020 16:41:11 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115409</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>&gt;ボリュームがあって，コードは読めてないんですが，困られてるのはどこになりますか？<br>④になります。③は提供頂いたマクロを使わせて頂き問題なく使用可能です。</p>
<p><span>&gt;これを見ると，Assyを上書きはできても新規保存はできない，のかなと思うのですが，<br>そのとおりです。中間ファイル開き何も保存されていない状態から、アセンブリファイルと参照部品を<br>名前変更し新規保存するときにどうするべきか悩んでます。<br></span></p>
<p><span>よろしくお願いします。</span></p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115404</guid>
	<pubDate>Tue, 21 Jul 2020 15:26:13 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115404</link>
	<title><![CDATA[西田将也 さんが付けたコメント]]></title>
	<description><![CDATA[<p>ボリュームがあって，コードは読めてないんですが，<br>困られてるのはどこになりますか？</p>
<p>&gt;&nbsp;<span>③既存Assembly+参照Partsﾌｧｲﾙを指定ﾌｫﾙﾀﾞ+自動生成ﾌｫﾙﾀﾞに保存</span><br><span>&gt; ④新規Assembly+参照Partsﾌｧｲﾙを指定ﾌｫﾙﾀﾞ+自動生成ﾌｫﾙﾀﾞに保存※悩み中です。。。</span></p>
<p><span>これを見ると，Assyを上書きはできても新規保存はできない，のかなと思うのですが，</span></p>
<p>ぼくが<a href="http://swjug.org/file/view/297281/">こちら</a>にあげたサンプルでは，アセンブリもリネームして保存できてるので，<br>CopyDocumentメソッドを使って別名保存の例はできてるのかなと思ってます。</p>
<p>なお外部参照ついてなければ，辻さんの助言のもとSaveAsメソッドを使っても<br>アセンブリ＆部品ファイルを別名保存できました。このサンプルも必要ならあげます。</p>]]></description>
	<dc:creator>西田将也</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115403</guid>
	<pubDate>Tue, 21 Jul 2020 15:06:28 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115403</link>
	<title><![CDATA[福谷勇時 さんが付けたコメント]]></title>
	<description><![CDATA[<p>色々とご回答頂き有難う御座います。</p>
<p>現在、ご教示頂いた内容を変数など、作成済みマクロで使えるように変更してます。</p>
<p>Pack and goのサンプルマクロは、APIに公開されてるのは知ってましたが、<br>既存ファイルを変更する場合は有効かと思いますが、メーカーよりダウンロードした中間ファイルなど、<br>開いて新規保存する前には、使用できないので他の方法を模索してました。</p>
<p>既存（保存済み）ファイルの場合は、提供頂いたマクロでなんとかなりそうです！！（コードあまり理解できてませんが(^_^;)・・・<br>メーカーなどから、ダウンロードした中間ファイルを開いて、ファイルプロパティ入力後に名前を変更し新規保存は、難しいでしょうか？<br>（元データは保存しない）現在作成中ではありますが、下記①～③に関しては、お力添え頂いた結果、成功してます。</p>
<p>①Assemblyﾌｧｲﾙのみ指定ﾌｫﾙﾀﾞに保存<br>②AssemblyﾌｧｲﾙをPartsﾌｧｲﾙとして指定ﾌｫﾙﾀﾞに保存<br>③既存Assembly+参照Partsﾌｧｲﾙを指定ﾌｫﾙﾀﾞ+自動生成ﾌｫﾙﾀﾞに保存<br>④新規Assembly+参照Partsﾌｧｲﾙを指定ﾌｫﾙﾀﾞ+自動生成ﾌｫﾙﾀﾞに保存※悩み中です。。。</p>
<p>途中までのマクロになります&darr;組み方は素人なのでツッコミどころ沢山あるかと・・（笑）</p>
<p>・UserForm1</p>
<p>Private Sub UserForm_Initialize()<br><br>OptionButton1.Caption = "Assemblyﾌｧｲﾙのみ指定ﾌｫﾙﾀﾞに保存"<br>OptionButton2.Caption = "AssemblyﾌｧｲﾙをPartsﾌｧｲﾙとして" &amp; vbCrLf &amp; "指定ﾌｫﾙﾀﾞに保存"<br>OptionButton3.Caption = "既存Assembly+参照Partsﾌｧｲﾙを" &amp; vbCrLf &amp; "指定ﾌｫﾙﾀﾞ+自動生成ﾌｫﾙﾀﾞに保存"<br>OptionButton4.Caption = "新規Assembly+参照Partsﾌｧｲﾙを" &amp; vbCrLf &amp; "指定ﾌｫﾙﾀﾞ+自動生成ﾌｫﾙﾀﾞに保存"<br>OptionButton1.Value = True<br><br>End Sub<br><br>Private Sub CommandButton1_Click()<br><br>If OptionButton1.Value = True Then<br>flag = 1<br>End If<br><br>If OptionButton2.Value = True Then<br>flag = 2<br>End If<br><br>If OptionButton3.Value = True Then<br>flag = 3<br>End If<br><br>If OptionButton4.Value = True Then<br>flag = 4<br>End If<br><br>Unload Me<br><br>End Sub<br><br>Private Sub CommandButton2_Click()<br><br>flag = 5<br>Unload Me<br><br>End Sub<br><br>Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)<br><br>'Xボタンが押されたとき<br><br>&nbsp; If CloseMode = 0 Then<br>&nbsp;&nbsp;&nbsp; flag = 5<br>&nbsp;&nbsp;&nbsp; Unload Me<br>&nbsp; End If<br><br>End Sub<br><br></p>
<p>・作成中マクロ</p>
<p>Dim swApp As SldWorks.SldWorks<br>Dim swModelDoc As SldWorks.ModelDoc2<br>Dim swExt As SldWorks.ModelDocExtension<br><br>Dim Part As Object<br>Dim Assem As Object<br>Dim Doctype As Long<br><br>Public flag As Integer<br><br>Dim boolstatus As Boolean<br>Dim longstatus As Long, longwarnings As Long<br><br>Sub main()<br><br>Set swApp = Application.SldWorks<br>Set swModel = swApp.ActiveDoc<br><br>If swModel Is Nothing Then<br>MsgBox "ﾌｧｲﾙが開かれてません"<br>Exit Sub<br>End If<br><br>Doctype = swModel.GetType<br><br>If Doctype = 1 Then<br>Set Part = swApp.ActiveDoc<br>ElseIf Doctype = 2 Then<br><br><br>'Assembly保存方法選択画面<br>UserForm1.Show<br><br>If flag = 5 Then<br>flag = 0<br>Exit Sub<br>End If<br><br>Set Assem = swApp.ActiveDoc<br><br>Else<br>MsgBox "部品orｱｾﾝﾌﾞﾘﾌｧｲﾙを選択下さい"<br>Exit Sub<br>End If<br><br>Dim objshell As Object<br>Dim objFolder As Object<br>Dim PathName As String<br><br>Set objshell = CreateObject("Shell.Application")<br>Set objFolder = objshell.BrowseForFolder(0, "ファイルを含むフォルダーを選択してください。", 0, 0)<br>BrowseFolder = ""<br>If Not objFolder Is Nothing Then<br>BrowseFolder = objFolder.Self.Path<br><br>PathName = BrowseFolder<br>PathName = Right(PathName, 6)<br><br>Else<br>Exit Sub<br>End If<br>Set objFolder = Nothing<br>Set objshell = Nothing<br><br>Dim rc As VbMsgBoxResult<br>rc = MsgBox("保存してもよろしいですか？", vbYesNoCancel + vbExclamation, "保存確認")<br>If rc &lt;&gt; vbYes Then<br>If (rc = vbNo) Or (rc = vbCancel) Then<br>MsgBox "キャンセルしました"<br>flag = 0<br>Exit Sub<br>End If<br>End If<br><br>'ModelDocExtensionに接続<br>'Dim swExt As ModelDocExtension<br><br>If Doctype = 1 Then Set swExt = Part.Extension<br><br>If Doctype = 2 Then Set swExt = Assem.Extension<br><br>'ユーザー定義プロパティを取得(API HELPで"ICustomPropertyManager"を参照)<br>Dim swPropMgr As CustomPropertyManager<br><br>Dim ValOut As String '値/ﾃｷｽﾄ表現<br>Dim rValOut As String '評価値<br>Dim fPath As String '指定保存先のフルパス<br>Dim fPath1 As String '指定保存先のフルパス<br>Dim pName As String '評価値を取得するプロパティ名<br>pName = "ファイル名"<br>Dim ValOut1 As String '値/ﾃｷｽﾄ表現<br>Dim rValOut1 As String '評価値<br>Dim ValOut2 As String '値/ﾃｷｽﾄ表現<br>Dim rValOut2 As String '評価値<br>Dim ValOut3 As String '値/ﾃｷｽﾄ表現<br>Dim rValOut3 As String '評価値<br>Dim ValOut4 As String '値/ﾃｷｽﾄ表現<br>Dim rValOut4 As String '評価値<br>Dim ValOut5 As String '値/ﾃｷｽﾄ表現<br>Dim rValOut5 As String '評価値<br>Dim ValOut6 As String '値/ﾃｷｽﾄ表現<br>Dim rValOut6 As String '評価値<br><br><br>'ユーザー定義プロパティを取得------------------------<br>Set swPropMgr = swExt.CustomPropertyManager("")<br><br>swPropMgr.Get2 pName, ValOut, rValOut<br><br>'コンフィギュレーション特有のプロパティを取得--------<br>Dim config As Configuration<br><br>If Doctype = 1 Then Set config = Part.GetActiveConfiguration<br>If Doctype = 2 Then Set config = Assem.GetActiveConfiguration<br>Set swPropMgr = config.CustomPropertyManager<br><br>swPropMgr.Get2 "設備NO", ValOut1, rValOut1<br>swPropMgr.Get2 "部位記号", ValOut2, rValOut2<br>swPropMgr.Get2 "品番", ValOut3, rValOut3<br>swPropMgr.Get2 "品名", ValOut4, rValOut4<br><br>If PathName = "supply" Then<br>swPropMgr.Get2 "型番", ValOut5, rValOut5<br>swPropMgr.Get2 "メーカー", ValOut6, rValOut6<br>End If<br><br>If rValOut1 = "" Then<br>MsgBox "プロパティ設備NOが入力されてません" &amp; vbCrLf &amp; "入力後マクロ実行して下さい"<br>Exit Sub<br>End If<br><br>If rValOut2 = "" Then<br>MsgBox "プロパティ部位記号が入力されてません" &amp; vbCrLf &amp; "入力後マクロ実行して下さい"<br>Exit Sub<br>End If<br><br>If rValOut3 = "" Then<br>MsgBox "プロパティ品番が入力されてません" &amp; vbCrLf &amp; "入力後マクロ実行して下さい"<br>Exit Sub<br>End If<br><br>If rValOut4 = "" Then<br>MsgBox "プロパティ品名が入力されてません" &amp; vbCrLf &amp; "入力後マクロ実行して下さい"<br>Exit Sub<br>End If<br><br>If PathName = "supply" Then<br>If rValOut5 = "" Then<br>MsgBox "プロパティ型番が入力されてません" &amp; vbCrLf &amp; "入力後マクロ実行して下さい"<br>Exit Sub<br>End If<br>If rValOut6 = "" Then<br>MsgBox "プロパティメーカーが入力されてません" &amp; vbCrLf &amp; "入力後マクロ実行して下さい"<br>Exit Sub<br>End If<br>End If<br><br>Dim fileNG As Integer<br>fileNG = 0<br>If InStr(rValOut, "\") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "/") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, ":") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "*") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "?") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, """") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "&lt;") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "&gt;") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "|") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "[") &gt; 0 Then fileNG = 1<br>If InStr(rValOut, "]") &gt; 0 Then fileNG = 1<br>If fileNG = 1 Then<br>MsgBox "ファイル名に使用出来ない文字が含まれてます" &amp; vbCrLf &amp; "\ , / , : , * , ? , "" , &lt; , &gt; , | , [ , ]" &amp; vbCrLf &amp; "修正後マクロ実行して下さい"<br>fileNG = 0<br>Exit Sub<br>End If<br><br><br>'Parts保存<br>If Doctype = 1 Then fPath = BrowseFolder &amp; "\" &amp; rValOut &amp; ".SLDPRT"<br><br>If Doctype = 2 Then<br><br>'Assemblyのみ保存<br><br>If flag = 1 Then fPath = BrowseFolder &amp; "\" &amp; rValOut &amp; ".SLDASM"<br><br>'AssemblyをPartsとして保存<br><br>If flag = 2 Then fPath = BrowseFolder &amp; "\" &amp; rValOut &amp; ".SLDPRT"<br><br>'Assemblyの参照Partsをフォルダに保存用のフォルダ作成<br><br>If flag = 3 Or flag = 4 Then<br>fPath = BrowseFolder &amp; "\" &amp; rValOut<br>If Dir(fPath, vbDirectory) = "" Then 'フォルダがなければ作る<br>MkDir fPath<br>End If<br>fPath1 = fPath<br>End If<br><br>End If<br><br>'指定保存(API HELPで"SaveAs Method (IModelDocExtension)"を参照)<br><br>Dim Options As Long<br>Dim errors As Long<br>Dim warnings As Long<br><br>'指定保存のオプション(API HELPで"swSaveAsOptions_e"を参照)<br>Options = 1<br><br>If Doctype = 1 Or flag = 1 Or flag = 2 Then<br><br>boolstatus = swExt.SaveAs(fPath, 0, Options, Nothing, errors, warnings)<br><br><br>'既存アセンブリファイルと参照部品を保存<br><br>ElseIf flag = 3 Then<br><br>&nbsp;&nbsp;&nbsp; Dim Root3DModelPath As String<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; Dim traverse As Boolean<br>&nbsp;&nbsp;&nbsp; Dim search As Boolean<br>&nbsp;&nbsp;&nbsp; Dim addreadonlyinfo As Boolean<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; Dim dependFilesList As Variant<br>&nbsp;&nbsp;&nbsp; Dim sourceFilesPath() As String<br>&nbsp;&nbsp;&nbsp; Dim saveFilesPath() As String<br>&nbsp;&nbsp;&nbsp; Dim i As Integer<br>&nbsp;&nbsp;&nbsp; Dim j As Integer<br>&nbsp;&nbsp;&nbsp; Dim copyopt As Long<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; Root3DModelPath = swModel.GetPathName<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; ' 参照関係があるファイルリストの取得<br>&nbsp;&nbsp;&nbsp; ' 設定は公式Exampleをわけもわからずコピー (Copy_Document_and_Its_Dependencies_Example)<br>&nbsp;&nbsp;&nbsp; traverse = True<br>&nbsp;&nbsp;&nbsp; search = True<br>&nbsp;&nbsp;&nbsp; addreadonlyinfo = False<br><br>&nbsp;&nbsp;&nbsp; '参照関係があるファイルのリスト，だが，一ファイルあたり2つずつ要素がある(ファイル名とフルパス)<br>&nbsp;&nbsp;&nbsp; dependFilesList = swApp.GetDocumentDependencies2(Root3DModelPath, traverse, search, addreadonlyinfo)<br>&nbsp;&nbsp;&nbsp; If IsEmpty(dependFilesList) Then Exit Sub<br>&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; i = 1<br>&nbsp;&nbsp;&nbsp; While i &lt;= UBound(dependFilesList)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReDim Preserve sourceFilesPath(j)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReDim Preserve saveFilesPath(j)<br>&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sourceFilesPath(j) = dependFilesList(i) 'フルパスのほう<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; saveFilesPath(j) = fPath + "\" + rValOut1 + "_" + Right(sourceFilesPath(j), Len(sourceFilesPath(j)) - InStrRev(sourceFilesPath(j), "\"))<br>&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j = j + 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = i + 2<br>&nbsp;&nbsp;&nbsp; Wend<br><br>&nbsp;&nbsp;&nbsp; swApp.CloseAllDocuments True 'There can be no documents open when using this method(CopyDocument).<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; fPath = BrowseFolder &amp; "\" &amp; rValOut &amp; ".sldasm"<br>&nbsp;&nbsp;&nbsp; copyopt = SwConst.swMoveCopyOptions_e.swMoveCopyOptionsOverwriteExistingDocs<br>&nbsp;&nbsp;&nbsp; errors = swApp.CopyDocument(Root3DModelPath, fPath, (sourceFilesPath), (saveFilesPath), copyopt)<br><br>&nbsp;&nbsp;&nbsp; If errors = 0 Then<br>&nbsp;&nbsp;&nbsp; boolstatus = True<br>&nbsp;&nbsp;&nbsp; Else<br>&nbsp;&nbsp;&nbsp; boolstatus = False<br>&nbsp;&nbsp;&nbsp; End If<br>&nbsp;&nbsp; &nbsp;<br><br>'新規アセンブリファイルと参照部品を保存<br><br>Else<br><br>'考え中・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・<br><br>End If<br><br><br>If boolstatus Then<br>MsgBox "保存に成功しました"<br>Else<br>MsgBox "保存に失敗しました"<br>End If<br><br>End Sub<br><br></p>]]></description>
	<dc:creator>福谷勇時</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115389</guid>
	<pubDate>Tue, 21 Jul 2020 09:56:28 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115389</link>
	<title><![CDATA[西田将也 さんが付けたコメント]]></title>
	<description><![CDATA[<p>&gt;&nbsp;<span>「構成部品保存」のときの"swExt"は各構成部品ドキュメントのエクステンションに定義されているでしょうか？</span></p>
<p>ぼくも同じ間違いしてました。</p>
<p>部品のModelDocExtentionからSaveAsを使うと<span></span></p>
<p>swModel = swComp.getModelDoc2<br>swExt = swModel.Extention</p>
<p>部品&rarr;アセンブリの順番で保存してるので，アセンブリ構造は（リネーム後のファイル名で）保持されてました。</p>
<p>しかし，部品&rarr;アセンブリの順番で保存してるので，<br>部品の中のアセンブリへの外部参照は切れてました（参照先が，リネーム前の親ファイルになっている）</p>
<p>&gt;&nbsp;<span>&rdquo;Pack and Go&rdquo;をマクロで</span><br>Pack and goのリネームすごいめんどくさいから，マクロもめんどいんだろうな，と，<br>見てみたらPackAndGoオブジェクトとかあって笑いました。<br>意外と使いやすそうなので，エクセル連携とかすると汎用性高いかもしれないですね！</p>]]></description>
	<dc:creator>西田将也</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115308</guid>
	<pubDate>Mon, 20 Jul 2020 16:05:09 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115308</link>
	<title><![CDATA[辻　直樹 さんが付けたコメント]]></title>
	<description><![CDATA[<p>コードが抜粋なので定かではありませんが、</p>
<p>「構成部品保存」のときの"swExt"は各構成部品ドキュメントのエクステンションに定義されているでしょうか？</p>
<p>もしアセンブリのものだと、アセンブリを部品として保存することになりそうです。</p>
<p>その後の「Assemblyを保存」と同じなので気になりました。</p>
<p>&nbsp;</p>
<p>また、リネームと構成部品のSaveAsを両方行っていますが、どちらか一方で良いのではないでしょうか？</p>
<p>リネームの場合はアセンブリ保存のSaveAsのオプションで"_SaveReferenced"も指定しておく必要があるかと思います。</p>
<p>&nbsp;</p>
<p>いずれの場合も、複数のインスタンスをもつ構成部品があると名前を複数回変更してしまう恐れがあるので注意が必要です。（１つのインスタンスを変更すると、他のインスタンスも同時に変更されるため。）</p>
<p>&nbsp;</p>
<p>アセンブリを構成ごとそっくりコピーするなら&rdquo;Pack and Go&rdquo;をマクロで使ってもいいかもしれませんね。</p>]]></description>
	<dc:creator>辻　直樹</dc:creator>
</item>
<item>
	<guid isPermaLink='true'>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115198</guid>
	<pubDate>Sat, 18 Jul 2020 19:21:42 +0900</pubDate>
	<link>http://swjug.org/blog/view/297245/api%E3%81%AB%E8%A9%B3%E3%81%97%E3%81%84%E6%96%B9%E3%80%81%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82#item-annotation-115198</link>
	<title><![CDATA[西田将也 さんが付けたコメント]]></title>
	<description><![CDATA[<p>そういえばリンクしたサンプルコード<br>最後にバグがあってそのままだとアセンブリファイルが保存されないのでご注意ください，<br>&gt;&nbsp;<span>errors = swApp.</span><strong>CopyDocument</strong><span>(source + sourcefile, target + sourcefile, (sourcefiles), (targetfiles), copyopt)</span><br>第一引数をsource + sourcefile から sourcefile に修正。</p>
<p>参考になるかわかりませんがぼくが実験で作ったマクロファイルも置いときます！&rarr;<a href="http://swjug.org/file/view/297281/">こちら</a></p>]]></description>
	<dc:creator>西田将也</dc:creator>
</item>

</channel>
</rss>