質問編集履歴

2

解答追加

2019/10/08 10:37

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,107 @@
39
39
  どんな方法でも結構です(言語でもshellでも)
40
40
 
41
41
  何か解決に近づく方法がございましたらお教え頂ければ幸いです。
42
+
43
+
44
+
45
+ ### 解決策
46
+
47
+ できました。
48
+
49
+ まさに理想の形で!
50
+
51
+ otunさんありがとうございました!
52
+
53
+
54
+
55
+ ```vba
56
+
57
+ Option Explicit
58
+
59
+
60
+
61
+ Sub setPasswordExcelFile()
62
+
63
+ Dim delimiter As String
64
+
65
+ If Application.OperatingSystem Like "*Mac*" Then
66
+
67
+ delimiter = "/"
68
+
69
+ Else
70
+
71
+ delimiter = Chr(92)
72
+
73
+ End If
74
+
75
+
76
+
77
+ 'バックグラウンド実行
78
+
79
+ Application.ScreenUpdating = False
80
+
81
+
82
+
83
+ 'ファイル名作成
84
+
85
+ Dim strFileName As String
86
+
87
+ strFileName = "a4.xlsx"
88
+
89
+
90
+
91
+ 'ファイルパス指定
92
+
93
+ Dim strFilePath As String
94
+
95
+ strFilePath = ThisWorkbook.Path & delimiter & strFileName
96
+
97
+
98
+
99
+ Dim wb As Workbook
100
+
101
+ Set wb = Workbooks.Open(strFilePath)
102
+
103
+ ActiveWindow.Visible = False
104
+
105
+ wb.Activate
106
+
107
+
108
+
109
+ 'ファイル保存
110
+
111
+ Application.DisplayAlerts = False '警告メッセージ非表示
112
+
113
+ wb.SaveAs FileName:=strFilePath, _
114
+
115
+ Password:="Password"
116
+
117
+ Application.DisplayAlerts = True '警告メッセージ非表示解除
118
+
119
+
120
+
121
+ '完了メッセージ
122
+
123
+ MsgBox "ファイルの保存が完了しました" & vbCrLf & _
124
+
125
+ "保存先は" & strFilePath & "です。"
126
+
127
+ Application.ScreenUpdating = True
128
+
129
+ End Sub
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+ 'Sub Clic()
138
+
139
+ ' Module2.setPasswordExcelFile
140
+
141
+ 'End Sub
142
+
143
+
144
+
145
+ ```

1

markdown編集

2019/10/08 10:37

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- (1) VBAで行う場合、下記のコードで可能でした
15
+ #### (1) VBAで行う場合、下記のコードで可能でした
16
16
 
17
17
  ```
18
18
 
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- (2) PythonのOpenPyxlで設定する
31
+ #### (2) PythonのOpenPyxlで設定する
32
32
 
33
33
  OpenPyxlにはシートにパスワードをかける事は可能ですが、ブックにかける事はできないようです。
34
34