[VBA] Image Adder 코드

 sFileName 부분만 수정해서 쓰면 됨 Function ImageAdder(sFileName As String) '사진을 엑셀 자체에 포함시키는 모듈 - 출처 : https://answers.microsoft.com/ ko-kr/msoffice/forum/msoffice_ excel-mso_other-mso_2010/엑셀- 2010에서/f9410f2c-f50e-47e7- b3f5-866e872600c3    Application.ScreenUpdating = False                          Dim objPic As Object     Set objPic = ActiveSheet.Pictures.Insert( sFileName).ShapeRange         With objPic             .LockAspectRatio = msoFalse             .Height = Selection.Height - 10             .Width = Selection.Width - 10             .Left = Selection.Left             .Top = Selection.Top         End With           ' Minor Update notes : 정확히 경계에 이미지를 붙여버리면 필터링 시에 사진이 섞이거나 복사 붙여넣기시 오류가 생기니까 그걸 좀 해결했음~  ' V3.011(181227)             objPic.Select    Selection.Copy    ActiveSheet.Pictures.Paste. Select    Selection.ShapeRange. IncrementLeft 5    Selection.ShapeRange. IncrementTop 5    objPic.Delete         Application.ScreenUpdating = True      End Function

[VBA] 수식 붙여넣기

 Sub pastespecial() Range(“r6:s6”).copy Range(Target).Pastespecial xlPasteFomulas End sub 엑셀 VBA 내에서 함수 카피를 쓸 때 사용 #VBA

[Python] the first argument must be callable 에러 해결

 정말 간단한 거라 간단히 적어둡니다. schedule에 do를 사용할 때 함수의 변수를 괄호로 넣으면 에러가 발생합니다. 그래서 (1)이 아니라 (2)와 같이 사용해주면 에러가 사라집니다. (1) 에러 발생하는 경우 schedule . every ( 2 ). minutes . do ( print ( str ( time . localtime ))) (2) 콤마로 써주면 됩니다. schedule . every ( 2 ). minutes . do ( print , str ( time . localtime ))

[Python] __name__ = '__main__'의 활용 방법

이미지
  https://azanewta.tistory.com/24 위의 링크를 참고해서 간단하게 테스트를 해봤습니다... 1000개 이상 사이트를 스크래이핑 하는데, py소스 하나에 밀어넣으면 곤란할 듯하여, 각 사이트별로 모듈화를 생각하고 있는데, 사용 방법을 잘 몰라서,, if __name__ = '__main__': 으로 넣어놓으면, 메인인 경우에만 테스트 프레이즈 구동이 됩니다. sub1.py가 서브파일, FP2021_MLT_Main.py가 메인 파일입니다. Sub1.py 1 2 3 4 5 6 7 8 9 10 11 def  test(a, b):      return  a + b   def  main():      print ( 'Test function executed' )     a  =   2     b  =   3      print ( "Test Value = %d" %test(a,b))   if  __name__  = =   '__main__' :     main() cs FP2021_MLT_Main.py 1 2 3 4 import  Sub1   a  =  Sub1.test( 1 , 2 ) print (a) cs

[Python] 크롤링 HTTP Forbidden 403 문제 해결

이미지
  코드에는 문제가 없는데 HTTP 403 Forbidden이 발생하길래.. 검색해보니까 서버사이드에서 저 같은 불법 크롤러를 거르는 메쏘드가 있는 모양입니다. 아래의 링크를 참고해서 해결했습니다 https://howtoworld.tistory.com/52 urllib에서 Request를 import 해줘야합니다. 1 2 3 4 def  hellenicshipping():     url  =  Request( "https://www.hellenicshippingnews.com/category/shipping-news/dry-bulk-market" ,headers = { 'User-Agent' :  'Mozilla/5.0' })     html  =  urlopen(url)     savefile  =   './hsn.txt' Colored by Color Scripter cs

[Python] Telegram Bot + Web scraper (beautiful soup) 개발 중

Telegram auto uploader + basic crawler .. ksg와 shipping news를 크롤링 하는데, 이후에 이걸 표준 모듈화해서 업로드 하려고 합니다. token 과 chat_id 를 삭제하고 업로드했습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 import  schedule import  time import  telegram   import  bs4 from  urllib.request  import  urlopen   token  =   "Your token here" bot  =  telegram.Bot(token  =  token) #print(bot) updates  =  bot.get_updates() chat_id  =   "Your Chat Id here"   title_tag  =  [] text_tag  =  [] date_tag  =  []   bot.sendMessage(chat_id, "Server Intialized..." )   def  job():     now  =  time.localtime()      print ( "current time = " , str (now))     url  =   "https://www.shippingnewsnet.com/news/articleList.html?sc_sub_section_code=S2N1&view_type=sm"     html  =  urlopen(url)       bs_obj  =  bs4.BeautifulSou

(VBA) 013 - 조건문을 사용해봅시다! if

이미지
#毎日育ちゃん可愛い大会 (설명자료) pptx파일 (xlsm파일) xlsm파일 ★ 진행목적 : 왜 이걸 사용합니까 . 1)VBA나 엑셀을 사용하다보면 특정 조건을 분기로 다른 데이터 처리방법을 사용하는 경우가 있습니다. 2)이것을 처리하는 것이 if문입니다! (switch-case문도 있지만, 이건 다음에 다루도록 할게요! 3)if를 사용하면 하나의 함수를 만들어 여러 가지 데이터를 처리할 수 있다는 이점이 있지요! ★ 어떤 경우 사용합니까 ? 1) 예를 들자면 , 데이터의 종류가 3 가지라고 합시다 . (0 보다 크다 , 0 이다 , 0 보다 작다 ) 2) 이 때 , 이 데이터에 따라 각기 다른 데이터 처리를 해야한다고 하면 ,  지금까지의 학습 내용이라면 함수를 세 개를 만들고 각 조건별로 다른 함수를 불러야 하겠지요 ! 3) 이를 해결하기 위해서 , 하나의 함수에 조건문을 넣어서 처리해주는 것입니다 ! ★ 예제의 처리과정을 알아봅시다 ! 1) 예제에서는 0 보다 클 때는 10 배를 곱하고 , 0 보다 작을 때는 -1 을 곱하고 , 나머지의 경우 (0 인 경우 ) 1 을 , 바로 옆 Cell 에 기록합니다 ! 2) 각 Cell 의 데이터를 조건식으로 받기 위해 If, Elseif 의 옆에 달아놓았습니다 . 3) 이렇게 함수를 구현하면 , 하나의 함수로 여러 가지 처리방법을 적용할 수 있겠지요 ! 4) 처음엔 If~then, 두 번째 조건부터는 Elseif~then, 나머지 모든 조건은 Else 로 처리하는 것으로 기억합시다 ! Sub Test()     Dim i As Integer          Range("A2").Select     i = 0     Do         If ActiveCell.Offset(i, 0).Value > 0 Then             ActiveCell.Offset(i, 1).Value