IT に関連しないクラスにはグループ プロジェクトが割り当てられており、そこでの作業は単一の .xlsx ファイルに保存されます。メンバーは、このファイルを共同で編集する最善の方法は、それを構成するシートに分割し、各 *.xlsx シートを SVN リポジトリにアップロードし、ロックと .txt ファイルを使用してシート/メンバーの責任を整理することであると判断しました。
このグループは、次のような VB スクリプト (この素晴らしいサイトの厚意による) を使用して、上記のファイルの分割を達成しました。
Sub SaveSheets()
Dim strPath As String
Dim ws As Worksheet
Application.ScreenUpdating = False
strPath = ActiveWorkbook.Path & "\"
For Each ws In ThisWorkbook.Sheets
ws.Copy
'Use this line if you want to break any links:
BreakLinks Workbooks(Workbooks.Count)
Workbooks(Workbooks.Count).Close True, strPath & ws.Name & ".xlsx"
Next
Application.ScreenUpdating = True
End Sub
Sub BreakLinks(wb As Workbook)
Dim lnk As Variant
For Each lnk In wb.LinkSources(xlExcelLinks)
wb.Breaklink lnk, xlLinkTypeExcelLinks
Next
End Sub
これにより、グループには現在、各メンバーがそれぞれのファイルを編集しているリポジトリがあります。問題は、元のリンクを保持したまま、これらのファイルを 1 つの .xlsx ファイルに再統合する作業をどのように自動化できるかということです。
EDIT 4/2: 報奨金を開始しました // 上記のスクリプトによってリンクが「壊れた」ことは承知していますが、これが何を意味するのか正確にはわかりませんが、元のリンクを維持して再構築するのがより困難になると思います. リンクを含む元のファイルは引き続き利用可能であり、この問題を解決するために使用できる可能性があることに注意してください。
編集 4/2: Excel のバージョンは 2010 です。元のリンクは現在のファイルには存在しません。
編集 4/3: 元のリンクは現在のファイルにはありませんが、元のリンク (元の未編集のファイルから事前に分割) を再統合することで、再作成/保存することが望まれます。