땡큐엑셀vba & 엑셀매크로

엑셀파일

 

출력결과

 

# openpyxl은 파이썬에 있는 엑셀 관련 패키지 중의 하나입니다.
# xlwings, xlsxwriter 등도 있지만, openpyxl이 가장 많이 쓰입니다.
# 엑셀이 없어도 엑셀 파일을 읽고 쓸 수 있어 유용합니다.
# pip install openpyxl을 명령프롬프트나 터미널 창에서 실행하면 손쉽게 설치할 수 있습니다.

#작성자: 땡큐엑셀vba & 파이썬엑셀
#목 적 : 엑셀의 가장 작은 단위인 셀값을 출력해 봅니다.
#Cell(행,열).value 이런식으로 사용하면 됩니다.



# 엑셀관련 라이브러리 임포트
from openpyxl import load_workbook

# data_only=Ture로 해줘야 수식이 아닌 값으로 받아온다.
# 파일경로는 수정하여 사용하세요
load_wb = load_workbook("c:/temp/셀_값출력-땡큐엑셀vba.xlsx", data_only=True)

# 시트 이름으로 불러오기
load_ws = load_wb['Sheet1']

# 셀 주소로 값 출력
print(load_ws.cell(1, 1).value) # A1셀
print(load_ws.cell(2, 1).value) # A2셀
print(load_ws.cell(3, 1).value) # A3셀


print("완료되었습니다. 땡큐엑셀vba & 파이썬엑셀")

 

셀_값출력.py
0.00MB
셀_값출력-땡큐엑셀vba.xlsx
0.01MB

 

 

 

'파이썬엑셀' 카테고리의 다른 글

[땡큐엑셀vba & 파이썬엑셀] 셀에 값입력하기  (0) 2020.08.01

 

'http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=279091932

'A열에는 파일명
'B열에는 파일명에 해당하는 이미지 불러오기


'1) 이미지폴더를 선택한후
'2) A열에서 이미지파일과 같은 이름을 찾아
'3) 그 옆셀에 셀크기에 맞게 이미지 출력
'4) 2~3번과정을 반복수행


'
'source by 땡큐엑셀vba & 엑셀매크로
'
Sub insert_Pictures_Matching_Name()

    Dim fileName As String
    Dim strPath As String
    Dim strType As String
    Dim C As Range
    Dim strName As String


    '화면 업데이트 중지
    Application.ScreenUpdating = False
    

    
    '1)이미지 폴더 선택
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show

        If .SelectedItems.Count = 0 Then
            Exit Sub
        Else
            strPath = .SelectedItems(1) & "\"
        End If
    End With
 
    '이미지 폴더를 선택 안했을 때
    If strPath = "" Then
        MsgBox "폴더를 먼저 선택하세요"
        Exit Sub
    End If
    
    '이미지 타입(해당하는 타입으로 변경하여 사용하시면 됩니다)
    strType = "*.png"
    
    
    '이미지 폴더에서 해당 이미지타입의 파일을 검색
    fileName = Dir(strPath & strType)
    If fileName = "" Then
        MsgBox "폴더에 파일이 없습니다."
        Exit Sub
    End If
    

    '해당 이미지파일이 없을때 까지 루프
    Do While fileName <> ""
        
        '확장자를 뺀 파일이름만
        strName = Split(fileName, ".")(0)
        

        '2)이미지파일과 같은 이름을 시트에서 검색
        Set C = ActiveSheet.UsedRange.Find(fileName, , , xlPart)
        If Not C Is Nothing Then

            '3)이미지 파일을 시트에 삽입
            ActiveSheet.Pictures.Insert(strPath & fileName).Select
            
            'A열에는 이름이 B열에는 이미지를
            Set C = C.Offset(0, 1)
            
            '이미지를 B열의 셀크기에 맞게 조정한후 복사 그리고 삭제
            With Selection
                .Name = "Temp"
                .ShapeRange.LockAspectRatio = msoFalse
                .Height = C.Height - 4
                .Width = C.Width - 4
                
                .Copy
                ActiveSheet.PasteSpecial Link:=False
                ActiveSheet.Pictures("Temp").Delete
            End With
            
            'B열의 셀위치로 이동
            With Selection
                .Left = C.Left + 2
                .Top = C.Top + 2
            End With
        End If
        
        '다음파일
        fileName = Dir
        
    Loop
    
    
    
LoopEnd:
    '화면 업데이트 재개
    Application.ScreenUpdating = True
    
    MsgBox "작업이 완료되었습니다", vbInformation, "땡큐엑셀vba & 엑셀매크로"
End Sub




 

내용과동일한이미지불러오기-FileDialog_Dir_Split_Find_Pictures_Offset-땡큐엑셀vba.xlsm
0.07MB

 

 

 

 

# openpyxl은 파이썬에 있는 엑셀 관련 패키지 중의 하나입니다.
# xlwings, xlsxwriter 등도 있지만, openpyxl이 가장 많이 쓰입니다.
# 엑셀이 없어도 엑셀 파일을 읽고 쓸 수 있어 유용합니다.
# pip install openpyxl을 명령프롬프트나 터미널 창에서 실행하면 손쉽게 설치할 수 있습니다.

#작성자: 땡큐엑셀vba & 파이썬엑셀 & 엑셀자동화
#목 적 : 엑셀의 가장 작은 단위인 셀에 값을 입력해 봅니다.
#Cell(행,열).value = '내용' 이런식으로 사용하면 됩니다.
#또는
#['어드레스'] = '내용' 이런식으로 사용하면 됩니다.


# 엑셀모듈 임포트
from openpyxl import Workbook

# 메모리에 워크북 생성
write_wb = Workbook()


# 디폴트시트인 Sheet1에다 입력
write_ws = write_wb.active
write_ws['A1'] = '안녕하세요. 땡큐엑셀입니다.'
write_ws.cell(2,1).value = '만나서 반갑습니다.'
# 아래와 동일한 의미
#write_ws['A2'] = '만나서 반갑습니다.'

# 엑셀파일 저장
# 저장위치는 수정하여 사용하시면 됩니다.
write_wb.save('d:/py/excel/hello.xlsx')

print("완료되었습니다. 땡큐엑셀vba & 파이썬엑셀 & 엑셀자동화")

셀_값입력.py
0.00MB

 

'파이썬엑셀' 카테고리의 다른 글

[땡큐엑셀vba & 파이썬엑셀] 셀값 출력하기  (0) 2020.08.02