Libre 사용하여 퇴근자명단 짜기에 관한 내용 알려드립니다.
리브레오피스 칼크리(LibreOffice Calc)를 사용해서 원하시는 기능을 구현하는 것이 가능합니다. 아래는 구체적인 방법입니다.
1. 이름 클릭 시 자동 입력:
이 기능은 셀을 클릭할 때, 선택된 이름이 특정 셀에 자동으로 입력되도록 하려면 매크로를 사용해야 합니다. 리브레오피스에서는 Basic 매크로 또는 Python 매크로를 사용해서 셀 클릭 이벤트를 감지할 수 있습니다.
2. 이름이 클릭되면 해당 이름이 B6~F6 칸에 입력되고, 나머지 칸은 위 (B5~F5) 칸의 이름으로 채워지는 방법:
이것도 매크로로 구현할 수 있습니다. 셀 클릭 시, 선택된 셀이 K열에 속한다면, K열에 있는 이름을 특정 셀에 넣고, B6~F6에 선택된 이름을 넣으며, B5~F5에는 위 칸 이름들을 복사하는 방식입니다.
3. 자동으로 특정 가능자 이름 채우기:
일반적으로 특정 조건에 따라 셀에 값 넣기를 원한다면, 또한 매크로 또는 간단한 조건부 함수(IF)를 사용할 수 있습니다. 그러나 특정 사람이 클릭되어야 채워지는 구조라면 역시 매크로가 필요합니다.
이해를 돕기 위해 간단한 매크로 예제와 방법을 설명하겠습니다.
예제 단계:
1. 먼저, 이름들이 K열(예: K6~K20)에 있다고 가정하고, 이 범위에서 이름을 클릭할 때 원하는 작업을 수행하게 합니다.
2. 매크로를 작성해서, K열의 셀을 선택할 때마다 아래와 같이 동작하게 만듭니다.
기본 매크로 구조 (LibreOffice Basic):
`basic
Sub OnCellSelectionChange
Dim oDoc As Object
Dim oSheet As Object
Dim oSelection As Object
oDoc = ThisComponent
oSheet = oDoc.Sheets(0) ' 첫번째 시트
oSelection = oDoc.CurrentController.Selection
' 선택된 셀이 하나인지 확인
If oSelection.SupportsService("com.sun.star.sheet.SheetCell") Then
Dim row As Integer, col As Integer
row = oSelection.CellAddress.Row
col = oSelection.CellAddress.Column
' K열 선택이면
If col = 10 Then ' K열이 0부터 시작하므로 10이 K열
Dim selectedName As String
selectedName = oSelection.String
' 예: B6:F6에 입력 (사용자가 어떤 셀을 클릭했는지에 따라 다르지만 일단 예시)
' 또는 특정 칸에 넣기
oSheet.getCellByPosition(1, 5).String = selectedName ' B6 (1,5)
oSheet.getCellByPosition(2, 5).String = selectedName ' C6
oSheet.getCellByPosition(3, 5).String = selectedName ' D6
oSheet.getCellByPosition(4, 5).String = selectedName ' E6
oSheet.getCellByPosition(5, 5).String = selectedName ' F6
' B5~F5에 위 칸 이름 복사
For i = 1 To 6 ' B~F
oSheet.getCellByPosition(i, 4).String = oSheet.getCellByPosition(i, 5).String
Next
End If
End If
End Sub
`
4. 이 매크로를 워크시트의 "선택 변경" 이벤트에 연결하면, 셀을 클릭할 때마다 작동하게 할 수 있습니다.
주의:
이 작업은 약간의 VBA, LibreOffice BASIC, 혹은 매크로 숙련이 필요하며, 매크로 보안 설정이 "모든 매크로 실행"으로 되어 있어야 합니다.
직관적인 방법 (간단한 버전):
매크로를 두지 않고, 수동으로 이름을 선택하는 방법도 고려할 수 있으며, 가능자 채우기는 수식 또는 드롭다운 목록에서 선택 후 복사하는 방식으로도 실현됩니다.
필요시, 구체적인 셀 위치, 이름 목록, 어떤 셀들이 클릭돼야 하는지 등에 대한 정보를 알려주시면, 더욱 맞춤형 매크로 코드를 제공할 수 있습니다.
답변 도움되셨길 바랍니다. 채택 부탁드리며, 추가 질문은 채택 후 답변드립니다.
AI 분석 및 채팅