Excel oluşan formun bazı alanlarını kilitleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Bay_Y
Üye
Mesajlar: 116
Kayıt: 10 Mar 2014 11:12
Konum: İstanbul

Excel oluşan formun bazı alanlarını kilitleme

Mesaj gönderen Bay_Y »

Merhaba herkese hayırlı kandiller öncelikle.
Bazı alanları kilitlereyek bir excel formu oluşturmak istiyorum.

Resim

Yukarıdaki resimden anlatmaya çalışayım. ilk 3 Kolon yani En Boy Ağırlık Sabit olacak ve değişmeyecek.
Oluşan Excel dosyasında sadece Sonuç kısmının değişmesini istiyorum. Böyle birşey yapabilir miyim. Nasıl Yapılabilir. ?

Teşekkürler.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Excel oluşan formun bazı alanlarını kilitleme

Mesaj gönderen mkysoft »

Excelde hücre koruma özelliği bulunuyor https://support.office.com/tr-tr/articl ... c410acaf21
Bay_Y
Üye
Mesajlar: 116
Kayıt: 10 Mar 2014 11:12
Konum: İstanbul

Re: Excel oluşan formun bazı alanlarını kilitleme

Mesaj gönderen Bay_Y »

İlginiz için teşekkür ediyorum , bunun üzerine yabancı forumlarda birkaç araştırma yaptım.

Excel.Cells.Select; // Seleciona a planilha
Excel.Cells.Locked := False; // Retira a proteção
Excel.Cells.FormulaHidden := False; // Retira a proteção
Excel.Cells.Locked := True;
Excel.Cells.FormulaHidden := True;
Excel.WorkBooks.Protect(´senha´,True,True);

yukarıdaki kod ile çözdüklerini söylemişler

Excelden makro kaydettim gerçekten de buna yakın bir kod çıkıyor delphiye uyarlayınca ama

ben ne yaptıysam Formulahidden kısmında hata veriyor.
'Method protect not supported by automation " diyor.
Bay_Y
Üye
Mesajlar: 116
Kayıt: 10 Mar 2014 11:12
Konum: İstanbul

Re: Excel oluşan formun bazı alanlarını kilitleme

Mesaj gönderen Bay_Y »

konu ile ilgili sorun çözülmüştür. İlgilenen arkadaş olursa kodu aşağıya ekliyorum. Herkese kolay gelsin.


var
Excel : OleVariant;

begin
Excel := CreateOleObject('Excel.Application');
Excel.Visible := False;
Excel.WorkBooks.Add;

//Kilitin açılmasını istediğimiz alanları burda seçiyoruz.
Excel.Range['A1','A12'].Select;
Excel.Cells.Select;
Excel.Cells.Locked := False;
Excel.Cells.FormulaHidden := False;

//Kilitlenecek alanlar da burda seçiliyor
Excel.Range['C1','C12'].Select;
Excel.Selection.Locked := True;
Excel.Selection.FormulaHidden := True;


//Bu alt ekranda da dosya korumasına şifre koymak istersenis ben '1' girmiştim isterseniz şifrede koyulabilir.
Excel.ActiveSheet.Protect('1', True, True, True, True, True, True, True, True, True, True, True, True, True, True, True);

Excel.ActiveWorkbook.SaveAs('Test.xls');

Excel.ActiveWorkBook.Close;
Cevapla