
'-------------------------------------------------------------------- ' ´Ø¿ô̾ : MkReadOnlyBook ' µ¡Ç½ : ºî¶ÈÃæ¥Ö¥Ã¥¯¤òÆÉ¤ß¼è¤êÀìÍѤǥê¥Í¡¼¥à¥³¥Ô¡¼¤·¡¢É½¼¨¤µ¤»¤ë ' °ú¿ô : ¤Ê¤· ' Ìá¤êÃÍ : ¤Ê¤· ' ºîÀ®Æü : 2008/03/29 ' ºîÀ®¼Ô : lily(http://vbatips.blog37.fc2.com/) '-------------------------------------------------------------------- Sub MkReadOnlyBook() Dim wb As Workbook Dim ret As Integer Dim sFileName As String Dim sNowTime As String '³Îǧ¥á¥Ã¥»¡¼¥¸ ret = MsgBox("»²¾ÈÍѥ֥寤òºîÀ®¤·¤Þ¤¹¤«¡©", vbYesNo) If ret = vbNo Then Exit Sub End If '¥¢¥¯¥Æ¥£¥Ö¥Ö¥Ã¥¯¼èÆÀ Set wb = ActiveWorkbook '¥¢¥¯¥Æ¥£¥Ö¥Ö¥Ã¥¯¤ÎÊÔ½¸³Îǧ If wb.Saved = False Then 'ÊÔ½¸Í¤ê¤Î¾ì¹ç¤Ï¾å½ñ¤Êݸ¤ò¹Ô¤¦ wb.Save End If '¸½ºß»þ¹ï¤ò¼èÆÀ¤¹¤ë sNowTime = CStr(Format(Date, "yymmdd")) & CStr(Format(Time, "hhmmss")) '¥³¥Ô¡¼Àè¤Î¥Õ¥¡¥¤¥ë̾ºîÀ®¡Ê¥Õ¥ë¥Ñ¥¹¡Ë sFileName = wb.Path & "\" & sNowTime & "_" & wb.Name '¥³¥Ô¡¼ºîÀ® wb.SaveCopyAs sFileName 'ÆÉ¤ß¼è¤êÀìÍѤËÀßÄê Call SetReadOnly(sFileName) 'ÆÉ¤ß¼è¤êÀìÍѤΥ֥寤ò³«¤¯ Workbooks.Open fileName:=sFileName End Sub '-------------------------------------------------------------------- ' ´Ø¿ô̾ : SetReadOnly ' µ¡Ç½ : ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤êÀìÍѤËÀßÄꤹ¤ë ' °ú¿ô : ¥Õ¥ë¥Ñ¥¹ ' Ìá¤êÃÍ : ¤Ê¤· ' ºîÀ®Æü : 2008/03/29 ' ºîÀ®¼Ô : lily(http://vbatips.blog37.fc2.com/) '-------------------------------------------------------------------- Sub SetReadOnly(sPath As String) Dim fso As FileSystemObject '¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À® Set fso = New FileSystemObject 'ÆÉ¤ß¼è¤êÀìÍѤÎÀßÄê fso.GetFile(sPath).Attributes = ReadOnly Set fso = Nothing End SubMkReadOnlyBook´Ø¿ô¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¥¡¼¤ò³ä¤êÅö¤Æ¤¿¤ê¡¢¥Ä¡¼¥ë¥Ð¡¼¤ËÅÐÏ¿¤¹¤ì¤ÐÊØÍø¤À¤È»×¤¤¤Þ¤¹¡£¤Þ¤¿¡¢»²¾ÈÍѥ֥寥ª¡¼¥×¥ó¸å¤Ë¥¦¥£¥ó¥É¥¦¤òÀ°Î󤵤»¤ëVBA¤òÄɵ¤¹¤ì¤Ð¡¢¤è¤êÊØÍø¤«¤â¤·¤ì¤Þ¤»¤ó¡£
Author:lily
ºî¶È¤ò³Ú¤Ë¤¹¤ë°Ù¤Î¶ìÏ«¤òÀˤ·¤ß¤Þ¤»¤ó¡£![]()