システムwiki

Word VBAが働きを止めました

cjphil 受付中 最終更新日:2021-06-15 08:22

こんにちは、私たちはO365にアップグレードされたときに働くこのコードを持っています.私は誰にも疑問に思っていました.私はそのパスをチェックし、それはまだ同じです.コマンドボタンをクリックすると、受信したエラーは次のとおりです.run-timeエラー "75":
パス/ファイルアクセスエラー

これがコードです.

プライベートサブCOPY1_CLICK()
DIM STRLB1文字列として
Dim Strlb2文字列として
DIM STRLB3文字列として
DIM STRLB4文字列として
Dim Strlb5 String
ムードSTRLB6文字列として
String

Dim Strlb8文字列として
Dim TempFile
DIM FS
DIM FILespec

filespec= "s:\operations\crops\Plict Impact Statements\wc_impact_history \"
FS= CreateObject( "scripting.filesystemObject")を設定します. fs=何もない
ダイアログ(WDDialogFilesAveAS)を使用する Options.DefaultFilePath(WDDocumentspath)= "S:\Operations\Crops\Plict Impact Statements\WC_IMPACT_History \"
.format= wdformattext
.name= "" "" "" " tempfile= .name
#1 'として出力するためのテンプファイルを開くエラーが強調表示されている場所です.

i= 1からlsttextbox3.listcount
strlb1= strlb1&lsttextbox3.list(i-1)&";
次のi
strlb1= strlb1&lsttextbox3.listIndex

i= 1からlsttextbox1.listcount
strlb2= strlb2&lsttextbox1.list(i-1)&";
次のi
strlb2= strlb2&lsttextbox1.listIndex

i= 1からlsttextbox2.listcount
strlb3= strlb3&lsttextbox2.list(i-1)&";
次のi
strlb3= strlb3&lsttextbox2.listIndex

i= 1からlstextbox4.listcount
strlb4= strlb4&lsttextbox4.list(i-1)&";
次のi
strlb4= strlb4&lsttextbox4.listIndex

i= 1からlsttextbox5.listcount
strlb5= strlb5&lsttextbox5.list(i-1)&";
次のi
strlb5= strlb5&lsttextbox5.listIndex

i= 1からlsttextbox6.listcount
strlb6= strlb6&lsttextbox6.list(i-1)&";
次のi
strlb6= strlb6&lsttextbox6.listIndex

i= 1からlsttextbox7.listcount
strlb7= strlb7&lsttextbox7.list(i-1)&";
次のi
strlb7= strlb7&lsttextbox7.listIndex

i= 1からlsttextbox8.listcount
strlb8= strlb8&lsttextbox8.list(i-1)&";
次のi
strlb8= strlb8&lsttextbox8.listIndex

#1、cmdmode.value、impact.value、ck1.value、ck2.value、wlco1.value、wlco.value、woper.value、ck3.value、ck4.value、_
ck5.value、ck6.value、ck7.value、cmdriskwc.value、textbox6.value、textbox1.value、cmdriskwc1.value、textbox7.value、textbox3.value、_
wdetail.value、ck8.value、ck9.value、cmdprisk.value、textbox5.value、comments.value、cmdriskwc2.value、textbox13.value、textbox14.value、_
TextBox16.Value、TextBox15.Value、TextBox17.Value、CMDriskWC3.Value、TextBox12.Value、TextBox10.Value、TextBox11.Value、TextBox18.Value、_
TextBox19.Value、strlb1、strlb2、strlb3、strlb4、strlb5、strlb6、strlb7、strlb8
閉じる#1

の場合は終了



終了SUB

返信リスト(回答:6)

1 #
Charles

まず、あなたはあなたの電話のためにサポートが立っていたと主張している面白い電話番号で偽の反応を受けたかもしれません.これはフィッシングの試みで、フォーラムから削除されました.その番号を呼び出さないでください.

あなたがあなたのコードにコメントしたならば、それは役に立ちます.それは何をすることになっていますか?

応答1# ->にスキップ
2 #
cjphil

電話番号のヘッドのおかげでチャールズ.

マクロを作成した個人が退職しましたので、これは私が行くように把握されています.私の理解情報は、ブックマークを介して単語文書に移行するテキストボックスを介してユーザーフォームに入ることです. その後、グループを移動する別の手順があります
データの.txtファイルへの.txtファイルに保存し、特定のユーザーだけが権限を保存しているパブリックドライバに保存します.それは何年もの間働いていますが、私たちの会社は最近Word 2016からO365にアップグレードし、同時に、私たちの資産スイートプログラムをからアップグレードしました.
Word文書が最初に収容されている6から9.

コードを見て、テキストボックスの値が文字列として保存されているように見え、その後TXTファイルが作成された後に値が入力されます.私はこのコードのいくつかを使用しなかったので、O365で/どのように機能するかどうかわからない.

私のトラブルは、私が言うことができる限りでは、奈落と一緒に、ファイルは作成されていないので、開くものは何もありません.保存が起こっている必要があるように正しいユーザー権限が存在することを確認しました.

あなたが私のスケッチの詳細を考慮することができるあらゆる助けや悟りのためにありがとうございます.

CINDY

応答2# ->にスキップ
3 #
GregMax 1

CINDY、

マクロからすべてのChaffを結合すると、これはD:\Driveに保存されているファイルを作成します.あなたはそれから始めるかもしれません:
プライベートサブCOPY1_CLICK()
wid strcdfp
DIM STRLB1文字列として
Dim TempFile
Dim Filespec
strcdfp= options.defaultFilePath(wddocumentspath)
filespec= "d:\" "s:\operations\crops\plicts impact statements\wc_impact_history \"
ダイアログ(WDDialogFilesAveAS)を使用する options.defaultFilePath(WDDocumentspath)= filespec
.format= wdformattext
.name= "" "" "" " tempfile=.name
#1 'として出力するためのテンプファイルを開く<事項は、エラーが強調表示されている場所です. strlb1= "ゴミテキストだけ"
書き込み#1、strlb1
閉じる#1

の場合は終了



終了SUB

応答2# ->にスキップ
4 #
RichMic

コードは.displayの結果をトリガします.これは、IMHOが不適切です.それは.Showの結果を引き起こすはずです.たぶん大丈夫だったいくつかの古代のVBA版で...しかし今ではありません.

.Displayをこのようなもののコマンドとフォーマットに置き換え、結果が優れているかどうかをお知らせください.

場合は

の場合

SUB

を終了します

else

'何らかの処理

を行います の場合は終わります

応答4# ->にスキップ
5 #
JayFree

豊富な、私はそれが使うのは不適切だとは思わない.メソッド間の違いは、ダイアログが解除されたときにはすべてのアクションを実行しませんが、ダイアログの目的を実行します.この場合は保存する
選択したフォルダとファイル名の開いている文書.マクロのこの時点で、私はそれが意図された操作だとは思わない.マクロは選択されたパスを使用して一時テキストファイルを開き、文字列を書き込みます.

しかし、実際には、このコーディングはSaveAsダイアログの誤用です.マクロにまだ存在している元のコードは、 filesystemObject. 希望の出力パスを取得します.より良い選択肢はフォルダピッカーのバリアントになります. filedialog.

6 #
RichMic

あなたはあなたの満足のためにマクロを取り入れましたか?