`
垂直的微笑
  • 浏览: 45437 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

VSSより、指定したファイルを取得するマクロ

VSS 
阅读更多
Option Explicit

'VSSのiniファイルの場所
Private SRCSAFE_INI As String
'VSS接続のユーザID
Private USER_ID As String
'VSS接続のパスワード
Private USER_PASSWORD As String
'VSS Root
Private VSS_ROOT As String
'ファイル出力先
Private OUTPUT_DIR As String

'ファイルオブジェクト
Private mobjFileSystem As FileSystemObject

'機能名: VSSより、指定したファイルを取得するマクロ(パス入り)
'作成者: SHSC
'作成日: 2006/01/13
'修正履歴:YYYY/MM/DD Name Content
'
'
Sub Macro1()
    On Error GoTo ErrorHandler
    Dim vssDB As New VSSDatabase
    Dim objItem As VSSItem
    Dim rowNumber As Integer
    Dim sheet As Worksheet
   
    Set mobjFileSystem = New FileSystemObject
    Set sheet = ThisWorkbook.Worksheets("RTM")

    '設定値取得
    Call GetSettingValues
   
    '行番号初期化
    rowNumber = 2
   
    'VSS接続
    vssDB.Open SRCSAFE_INI, USER_ID, USER_PASSWORD
   
    While sheet.Cells(rowNumber, 1) <> ""
        'CO対象かをチェック
        If sheet.Cells(rowNumber, 2) = "○" Then
            Set objItem = vssDB.VSSItem(VSS_ROOT & sheet.Cells(rowNumber,)
            'Call OutputVSSItem(objItem)
            'Call CheckOutVSSItem(objItem)
            Call CheckInVSSItem(objItem)
        End If
        rowNumber = rowNumber + 1
    Wend
   
    Set vssDB = Nothing
    Set mobjFileSystem = Nothing
   
    MsgBox "ファイル取得が完了しました。"
   
Exit Sub                                ' エラー処理ルーチンが実行されないように Sub を終了します。
ErrorHandler:                           ' エラー処理ルーチン。
    Select Case Err.Number              ' エラー番号を評価します。
        Case -2147166577                ' エラーです。
            MsgBox "[" & VSS_ROOT & sheet.Cells(rowNumber, & "] が見つかりません。"
            Resume Next                 ' エラーが発生した行から処理を再開します。
           
        Case Else
            Resume Next                 ' エラーが発生した行から処理を再開します。
    End Select
   
End Sub


'設定値を変数へ格納
Private Sub GetSettingValues()
    Dim sheet As Worksheet
   
    Set sheet = ThisWorkbook.Worksheets("設定")
   
    'srcsafe.iniの場所
    SRCSAFE_INI = sheet.Cells(3, 2)

    'VSS接続ユーザID
    USER_ID = sheet.Cells(4, 2)

    'VSS接続ユーザパスワード
    USER_PASSWORD = sheet.Cells(5, 2)

    'VSS Root
    VSS_ROOT = sheet.Cells(6, 2)
   
    'ファイル出力
    OUTPUT_DIR = sheet.Cells(7, 2)
   
End Sub


'指定フォルダへ最新バージョンのファイルを出力する処理
Private Sub OutputVSSItem(objItem As VSSItem)
    '出力先フォルダ設定
    Dim dir As String
   
    dir = CreateDir(objItem)
    objItem.Get dir & objItem.Name, VSSFLAG_EOLCRLF
End Sub

Private Sub CheckOutVSSItem(objItem As VSSItem)
    Dim dir As String
    dir = CreateDir(objItem)
    objItem.CheckOut "", dir & objItem.Name, VSSFLAG_REPREPLACE
End Sub

Private Sub CheckInVSSItem(objItem As VSSItem)
    Dim dir As String
    dir = CreateDir(objItem)
    objItem.CheckIn "", dir & objItem.Name, VSSFLAG_UPDUPDATE
End Sub

'出力先フォルダ作成
Private Function CreateDir(objItem As VSSItem) As String
    Dim i As Integer
    Dim dirs() As String
    Dim dir As String
   
    Dim file As String
    file = objItem.Spec
    file = Replace(file, "$/50Source", "")

    dirs = Split(file, "/")
    dir = OUTPUT_DIR
   
    For i = LBound(dirs) To UBound(dirs) - 1
        dir = dir & dirs(i)
        If Not mobjFileSystem.FolderExists(dir) Then
            Call FileSystem.MkDir(dir)
        End If
       
        dir = dir & "\"
    Next i
    CreateDir = dir
End Function
分享到:
评论

相关推荐

    VSS使用手册 VSS使用手册 VSS使用手册

    VSS使用手册 VSS使用手册 VSS使用手册 VSS使用手册 VSS使用手册 VSS使用手册

    VSS.exe服务端 VSS服务端 VSS

    VSS.exe服务端 VSS服务端 VSSVSS.exe服务端 VSS服务端 VSSVSS.exe服务端 VSS服务端 VSSVSS.exe服务端 VSS服务端 VSSVSS.exe服务端 VSS服务端 VSSVSS.exe服务端 VSS服务端 VSS

    vss使用手册 vss教程

    vss使用手册 vss使用手册vss使用手册vss使用手册vss使用手册

    VSS版本管理工具

    vss进行版本控制,操作简单灵活,附上操作文档: 1.安装客户端; 2.在本地建立自己的开发目录; 3.用指定的vss database、用户名和口令登录vss; 4.设定工作目录为自己的开发目录; 5.得到最新的版本,其"Recursive...

    VSS.exe客户端 VSS客户端 VSS

    VSS.exe客户端 VSS客户端 VSSVSS.exe客户端 VSS客户端 VSS

    vss2005快捷键vss2005快捷键

    vss2005快捷键vss2005快捷键vss2005快捷键

    VSS使用指南(VSS使用指南)

    VSS使用指南VSS使用指南VSS使用指南

    华为组网图标库(vss格式) 华为组.zip

    华为组网图标库(vss格式) 华为组.zip 华为组网图标库(vss格式) 华为组.zip 华为组网图标库(vss格式) 华为组.zip 华为组网图标库(vss格式) 华为组.zip 华为组网图标库(vss格式) 华为组.zip 华为组网图标库(vss格式) ...

    VSS使用手册-经典

    VSS使用手册 VSS概述 VSS简介 VSS中的文件 VSS中的项目 VSS的版本控制功能 文件的拆分和共享 工作文件夹(working folder) VSS的客户端安装 安装VSS的系统条件 从网络安装VSS客户端 VSS入门 登录VSS VSS浏览器...

    vss 库操作方法

    vss 库操作方法vss 库操作方法vss 库操作vss 库操作方法方法vss 库操作方法

    Visual SourceSafe-vss6.0

    vss是一个源代码控制系统,可以保存文件的不同版本,可以比较文件的差别,可以控制不同的人对同一文件的修改。 Windows平台下使用VSS开发的典型环境是基于C/S架构的 。 并非仅仅使用VSS管理源代码,用VSS管理所有...

    vss使用手册,vss操作手册,vss学习笔记,vss sourcesafe

    vss大家现在用的多吗?前段时间用到,但是不太熟悉,遇到了一些问题。还好找到了vss手册,与大家一块学习。

    VSS to SVN Tools

    VSS2SVN is a simple utility project that aims to help migrate the contents of a source safe database to subversion. To do that, VSS2SVN uses two key assemblies: The Microsoft sourcesafe interop ...

    vss6.0

    vss6.0 vss6.0 vss6.0 vss6.0

    VSS2005之Explorer功能及技巧

    VSS 配置管理员(入门级),当你刚担当VSS 配置管理员岗位时,还不知道VSS Explorer 有哪些 功能的时候,或者对VSS Explorer 了解得不够多的时候,你可以查阅此文档。当然你也可以直接使用VSS 的随机帮助。...

    VSS的安装教程

    VSS 安装

    myeclipse中的vss插件

    选择VSS Configuration Wizard,点击next,在出现的对话框中,输入VSS分配的username,password,vss Directory中点Browse,选择“网上邻居”,选中你的要共享的VSS的所在的IP(\\10.17.32.199\isbn-vss)上。...

    VSS2005使支持通过Internet访问 VSS 2005 使用手册 VSS.2005汉化软件

    (1)VSS 2005 使用手册——服务器端设置 (2)VSS 2005 使用手册——客户端设置 (3)VSS.2005汉化软件 (4)设置VSS2005使支持通过Internet访问

    VSS配置管理总结VSS配置管理总结

    VSS配置管理总结VSS配置管理总结VSS配置管理总结

    cisco vss官方资料

    cisco vss官方资料cisco vss官方资料

Global site tag (gtag.js) - Google Analytics